Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 30.12.2007, 15:36
Knarzer77 Knarzer77 ist offline
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 13.03.2007
Beiträge: 15
Knarzer77 befindet sich auf einem aufstrebenden Ast
Standard 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
Mit Zitat antworten
Sponsored Links