Sven Rautenberg: Notice: Undefined index bei Session-Variablen

Beitrag lesen

Moin!

Es ist im Endeffekt unerheblich, wann die Dateien zusammengepappt werden, es bleibt eine große zusammengepappte Masse. Oder möchtest du behaupten,

if ($bla == 1) {
   echo "bla";
}

wäre etwas anderes (im Sinne von: würde ein anderes Ergebnis erzeugen) als

if ($bla == 1) {
   echo "bla"; // tatsächlich mittels include("bla.php") eingebunden
}

Das Ergebnis ist dasselbe - die Erzeugung unterschiedlich. Oder würdest du behaupten, dass

if ($bla == 1) {
   printf("bla");
}

dasselbe ist.

Include/require pappen eben nicht nur Quelltext zusammen - deshalb darf man sie auch nicht überall benutzen, um Quelltext reinzupappen, sondern nur dort, wo Funktionen gewöhnlicherweise aufrufbar sind.

Um das grundlegende Prinzip zu verstehen, reicht die Vorstellung, dass include() & Co. durch den jeweiligen Dateiinhalt ersetzt werden. Es ging hier konkret um die Fehlinterpretation, dass die Dateien eine Art eigenständige Module wären und session_start() deshalb in jeder einzubindenden Datei aufgerufen werden müsse.

Es ist in Ordnung, diese näherungsweise Annahme zu verwenden, wenn sie als solche gekennzeichnet wird. Ansonsten wird das als Funktionsbeschreibung der Realität mißverstanden.

Grüße Sven