Problem mit Cookie für Gästebuch
Hallo,
ich verwende folgendes Script für ein Gästebuch (die Cookies machen es notwendig, ansonsten kommt der Fehler "Cannot send session cache limiter - headers already sent"):
$template_datei = './gaestebuch/scripts/gb-template.php'; // Hier den Pfad zur Template-Datei eintragen (relativ zu diesem Script!)
$scriptverzeichnis = './gaestebuch/scripts/'; // Hier den Pfad zum Script-Verzeichnis eintragen (relativ zu diesem Script!)
// HTML-Grundgerüst holen (ist hier ein Template)
$html = implode('', file($template_datei));
// Gästebuch ausgeben
ob_start(); // echo-Ausgaben zum Browser abfangen und im Puffer speichern
// Slash am Ende sicherstellen
$scriptverzeichnis = preg_replace('~^(.*)/?~', '\\1/', $scriptverzeichnis);
include $scriptverzeichnis.'gb.script.inc'; // gibt per echo ein <div> mit dem eigentlichen GB-Inhalt aus
$html = str_replace('{gb-output}', ob_get_contents(), $html); // schreibt den GB-Inhalt ins Template
ob_clean(); // Pufferinhalt löschen (ist vorher in $html übertragen worden)
// HTML-Grundgerüst fertigstellen
echo $html;
ob_end_flush(); // Puffer ausgeben und leeren (hier sendet PHP zum ersten Mal tatsächlich Daten an den Browser
?>
In der Template-Datei werden wiederum php-Dateien includiert. Und hier ist das Problem: Mit dem Script werden diese includes nicht "aufgelöst", sondern 1:1 in die HTML-Ausgabe übernommen (also steht dann da "include ...." ).
Kann ich das Script so anpassen, dass die dynamischen includes aufgelöst werden, bevor sie ausgegeben werden?
Viele Grüße
Jan
|