Dynamischer <div>-Content via include()
Nlinedesignz
- php
Hallo!
Ich habe eine recht bildlastige Seite. Um nun traffik zu sparen und wartezeiten zu verkürzen wird momentan ein iFrame mit dem tatsächlichen content bestückt, da der rest der seite eh statisch ist.
Ganz schlechter Stil, ich weiß, deshalb bin ich am basteln es mittels PHP-include() zu versuchen. allerdings fehlt mir da bisher die Möglichkeit eines OnKlick-Pendants. Es kann ja nicht sein, dass ich um JavaScript zu vermeiden eine Javascript-Funktion erzeugen soll...
Wie also teile ich dem php-interpreter mit, dass er auf den klick eines bestimmten Links hin handel soll?
Om nah hoo pez nyeetz, Nlinedesignz!
Wie also teile ich dem php-interpreter mit, dass er auf den klick eines bestimmten Links hin handel soll?
Beispielsweise indem der Link auf dieselbe Seite führt, aber mit einem query-string, etwa <a href="?inhalt=5">.
In der PHP-Ressource wertest du dann aus:
if ($_GET['inhalt'] == 5)
{
include ('./inhalt5.inc');
}
den unschönen Querystring kannst du am Ende mit mod_rewrite verstecken.
Matthias
Holla, Matthias!
Beispielsweise indem der Link auf dieselbe Seite führt, aber mit einem query-string, etwa <a href="?inhalt=5">.
Das ist ein Supertipp gewesen.Danke!
include ('./inhalt5.inc');
}
»»
die Endung *.inc ist nur gewählt weil da was includiert wird, richtig?
Das bringt mich direkt zur nächsten Frage:
Wenn ich dann eine *.htm einbinde, muss die einen eigenen Header haben, oder kann ich auch einfach eine *.txt einbinden, in der dann verschiedene html-tags stehen?
Nicht dass sich da probleme ergeben, wenn auf einmal ein neuer Header auftaucht..
Danke!
Om nah hoo pez nyeetz, Nlinedesignz!
Wenn ich dann eine *.htm einbinde, muss die einen eigenen Header haben, oder kann ich auch einfach eine *.txt einbinden, in der dann verschiedene html-tags stehen?
Du kannst auch die *.txt in *.inc umbenennen ;-)
html und htm[1] sollte problemlos eingebunden werden, wenn es unbedingt eine *.txt sein muss, muss in der .htaccess
AddOutputFilter INCLUDES .txt
angegeben werden. Aber sonderlich viel Sinn macht das imho nicht.
[1] Es besteht kein Grund, nicht *.HTML zu verwenden. Die eingebundenen Ressourcen dürfen keine vollständigen HTML-Dokumente sein.
BTW
* Ich denke, dir ist der Unterschied zwischen Header und Head-Element nicht klar. Ebenso kann es nicht schaden, Tag und Element voneinander unterscheiden zu können.
Matthias
Holla, Mathhias!
* Ich denke, dir ist der Unterschied zwischen Header und Head-Element »»nicht klar.
offenbar nicht ;), aber das lese ich schnell nach...
Warum keine "vollständigen" html-dateien? weil ich nicht noch ein head-tag brauche? weil ich keinen neuen DocType angeben muss?
also reicht der einzubindende Inhalt, ohne html-Grundgerüst?
Gruß
NlineDesignz
Hallo,
* Ich denke, dir ist der Unterschied zwischen Header und Head-Element »»nicht klar.
offenbar nicht ;), aber das lese ich schnell nach...
gute Idee. :-)
Warum keine "vollständigen" html-dateien?
Weil Includes vom Server direkt in das Elterndokument eingebunden werden, so als würdest du diese Teile im Editor in den Original-Quellcode einfügen. Und was bekommst du, wenn du ein vollständiges HTML-Dokument in ein anderes einfügst? - Richtig, ein sinnloses, fehlerhaftes Durcheinander.
also reicht der einzubindende Inhalt, ohne html-Grundgerüst?
Er _reicht_ nicht nur, es _darf gar nicht_ mehr sein, weil das entstehende Gesamt-Dokument korrekt sein muss.
Ciao,
Martin