Seite 1 von 1

session.php mit unnötigen Angaben???

Verfasst: 30.09.2004 11:04
von MrMind
Moin Leutz,

habe mir mal die session.php vom phpBB2.0.10 angeguckt und mir ist folgendes aufgefallen das ich mir noch net klären konnte:

in den Funktionen wird die Variable $SID global eingeschleust und ihr lediglich eine neue Zuweisung am Ende der jeweiligen Funktion zugeteilt.
Doch bei der Return-Anweisung werden andere Daten zurück gegeben, was wiederum doch bedeutet, das die $SID in den Funktion keinen Sinn hat (außer natürlich in der append_sid() ), da die Veränderung lediglich lokal statt findet und im Script eigentlich nichts bewirkt oder seh ich das Falsch???

Hier ein Beispiel:

In der session_begin()

Code: Alles auswählen

global $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $SID;
und dann taucht $SID erst wieder am Ende der Funktion auf:

Code: Alles auswählen

$SID = 'sid=' . $session_id;

return $userdata;
}
Diese Veränderung wirkt sich ja nur in der Funktion aus, aber net auf das Script welche die Funktion aufruft oder???

Genauso was seltsames ist folgendes:

in der Funktion session_pagestart()

wird die Variable $userdata mit unset() gelöscht. Macht eigentlich ja Sinn, wenn man sie komplett neu Zuweisen möchte, doch die Variable $userdata wird weder global noch als Parameter übergeben, sprich sie existiert nicht. Warum wird sie dann gelöscht, wenn sie nicht vorhanden ist???


Ich hoffe ihr könnt mir ein kleinen Einblick in diese misteriösen Codeschnipsel geben ;)

Mfg
MrMind

Verfasst: 12.10.2004 01:00
von MrMind
Ok das Thema hat sich erledigt.

Hatte nochmal selbst getestet mit eigenen Funktionen und habe dadurch meine Bestätigung bekommen, das PHP nicht wie C/C++ die Variablen die es einbindet lokal handhabt sondern global verändert.

Mfg
MrMind