dedlfix: Session-Variable an Include-Datei übergeben

Beitrag lesen

echo $begrüßung;

Ich habe jetzt durch viel Herumprobieren den Fehler "eingekreist" und festgestellt, dass die Verwendung der Session-Variable offenbar nicht klappt, wenn die Include-Datei über einen absoluten Pfad (http://www.server.de/verzeichnis/datei.php) statt über einen relativen Pfad wie "datei.php" included wird.

Damit inkludierst du nicht die Datei selbst, sondern das was der Webserver ausliefert, der dieses Dokument hostet. Der führt vor dem Senden das PHP aus, und hat, da es ein neuer Request für ihn ist, nur den Inhalt der "Include"-Datei vorliegen und auch keine Session geöffnet. Das willst du aber so nicht haben und musst deshalb dem include einen Dateinamen und keine URL übergeben.

Da die Include-Datei von Hauptdateien aus vielen verschiedenen Verzeichnissen eingebaut wird, wird mir wohl nichts anderes übrig bleiben, als die Include-Datei in jedes einzelne Verzeichnis zu kopieren oder in ein Unterverzeichnis zu legen und in jeder einzelnen Hauptdatei den relativen Pfad anzupassen.

Und wenn das zu lästig fällt, kann man sich die Konfiguration des include_path anpassen. Das macht man natürlich am besten in der Server-Konfiguration statt per ini_set() in den einzelnen Scripten.

echo "$verabschiedung $name";