molily: Seite includen

Beitrag lesen

Hallo,

Ich möchte, dass die Seite nicht immer neu lädt, sodass die User Musik oder Videos abpsielen können und gleichzeitig der Textcontent abgerufen werden kann.
Aber es funktioniert leider nicht. Beim klicken auf einen Button macht er die gewünschte php-Seite neu auf. Die Seiten werden nicht inkludiert.

Das lässt sich nicht mit serverseitigen Techniken alleine erreichen.

PHP wird auf dem Server ausgeführt. PHP baut in der Regel vollständige HTML-Dokumente zusammen. PHP-Includes dienen dazu, um einzelne HTML-Teile zu einem HTML-Dokument zusammenzufügen. Das passiert auf dem Server. Zum Browser wird ein vollständiges HTML-Dokument geschickt.

Wenn du einen normalen Link setzt und der Nutzer ihn aktiviert, so wird das aktuelle Dokument durch ein neues ausgetauscht, das ein PHP-Script auf dem Server erzeugt hat und das zum Browser gesendet wurde. Durch das Auswechseln des Dokuments werden natürlich Musik und Videos gestoppt.

Das Auswechseln von Teilen des Dokuments lässt sich nur clientseitig lösen. Entweder mit http://de.selfhtml.org/html/frames/eingebettete.htm@title=Iframes und Links mit target-Attribut. Oder (schwieriger) mit JavaScript. Mit dem XMLHttpRequest-Objekt lassen sich Daten vom Server im Hintergrund laden und in das bestehende Dokument einfügen, ohne dass eine neue Seite geladen wird.

Beides ist nicht unproblematisch. Zum Beispiel geht ohne weitere Maßnahmen die Verlinkbarkeit verloren. Im Falle von Iframes haben die Dokumente im Iframe typischerweise keine Navigation. Das ist unschön, wenn man sie z.B. über Suchmaschinen findet.

Grüße,
Mathias