Gästebuch(php) eingebinden in eine Html-seite (geänd in php)

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
linuxdbox
Mitglied
Beiträge: 11
Registriert: 08.09.2006 18:47

Gästebuch(php) eingebinden in eine Html-seite (geänd in php)

Beitrag von linuxdbox »

hallo,

habe mein guestbook.php per


<?php
include ('http://www.tpdesign.de/guestbook.php');
?>

in eine html - seite eingebaut. die html wurde umbenannt in test.php (vormals test.html). alles funzt bestens und die verlinkung zu test.php klappt und die gewünschten änderungen sind erfolgreich.

www.tpdesign.de/guest.php

wenn ich nun auf die zweite seite im gästebuch wechsle kommt wieder die guestbook.php die nicht in der test.html (guest.php) siehe oben eingebettet ist. also ein aufruf der reinen php und nicht die "html"

was mache ich falsch?? :(

vielen dank
Benutzeravatar
Banger
Ehemaliges Teammitglied
Beiträge: 375
Registriert: 03.05.2005 21:53
Wohnort: Düsseldorf
Kontaktdaten:

Re: Gästebuch(php) eingebinden in eine Html-seite (geänd in

Beitrag von Banger »

linuxdbox hat geschrieben:was mache ich falsch?? :(
Naja, die unbefriedigende Antwort zuerst: "so ziemlich alles" :)

Dadurch, dass Du die gesamte guestbook.php "includest" (dadurch, dass es sich um einen URL handelt, ist es effektiv eine imperformante Version von readfile()), hast Du nun ein HTML-Dokument in einem HTML-Dokument - der dadurch erzeugte HTML-Code ist ziemlich invalide.
Insofern eine vollkommen falsche Herangehensweise, die mit dem Sinn von include() wenig gemeinsam hat.

(Bemerkung am Rande: Deine Rechtsklick-Sperre ist nicht nur sinn- weil nutzlos, sondern nervt auch noch, wenn man Deinen Quellcode zwecks Fehleranalyse untersuchen will. Nimm das raus, nutzt eh nichts.)

In diesem Fall "weiß" das Gästebuchscript nichts davon, dass es includet wurde, sondern gibt einfach seinen Inhalt (besser: "seine Ausgabe") an die guest.php weiter - genau so, als würdest Du die guestbook528705.php mit dem Browser direkt aufrufen.
Dementsprechen sind die Links zu den Folgeseiten im Gästebuch auch nicht auf die guest.php "umgebogen", sondern verweisen auf die Original-URL.

Schnelle saubere Lösung: binde das Gästebuch als iframe ein.
Gute Lösung: Editiere vorerst das Gästebuchscript soweit, dass es
* nur die Inhalte zwischen <body> und </body> auswirft
* guest.php als eigenen URL verwendet
* per include() im eigentlichen Sinne included wird und dabei nicht mit Deinen eigenen Scriptvariablen im gleichen Namespace kollidiert.

Lektüre:
* http://de.php.net/include/
* http://de.php.net/manual/de/language.va ... .scope.php
Benutzeravatar
linuxdbox
Mitglied
Beiträge: 11
Registriert: 08.09.2006 18:47

Beitrag von linuxdbox »

hallo besten dank für die klare aussage was für ein newbie ich bin. :-?
werde es mal so abändern und melde mich dann , ob es korrekt läuft. denke mal es gibt so einige die gästebücher in html einbinden wollen.

danke
Antworten

Zurück zu „Coding & Technik“