Namensraum?
Viennamade
- php
0 Tom0 Viennamade0 Tom
Hallo Forumsteilnehmer!
Ich schmökere eben in Sachen Login und Sessions durchs Archiv und komme über ein Posting nicht drüber.
Zitat:
"Beim Session-Start werden automatisch die Session-Variablen in die beiden Arrays geladen. Die haben ab dann nichts mehr miteinander zu tun. Deshalb sollte man gleich nach session_start() ein unset($HTTP_SESSION_VARS) absetzen, ...."
Soweit so gut, jetzt kommts:
"... allerdings aus dem Namensraum, in dem session_start() ausgeführt wurde."
Was heißt hier Namensraum, bzw. wo soll man das unset durchführen?
Danke!
Viennamade
Hello,
Zitat:
"Beim Session-Start werden automatisch die Session-Variablen in die beiden Arrays geladen. Die haben ab dann nichts mehr miteinander zu tun. Deshalb sollte man gleich nach session_start() ein unset($HTTP_SESSION_VARS) absetzen, ...."Soweit so gut, jetzt kommts:
"... allerdings aus dem Namensraum, in dem session_start() ausgeführt wurde."Was heißt hier Namensraum, bzw. wo soll man das unset durchführen?
Habe ich wohl doch noch kein Alzheimer. Erkenne ich doch mein Posting wieder. Dann lag der Gedächtnisverlust wohl doch am Schwächeanfall.
Das Problem könnte bei PHP >= 4.1.x gelöst sein, muss aber nicht. :-(
$_SESSION ist "superglobal"
$HTTP_SESSION_VARS ist nur "global"
Wenn man nun session_start() aus einer Funktion heraus aufruft, dann wird das $HTTP_SESSION_VARS-Array im Namensraum der Funktion angelegt, während $_SESSION bereits im Namensraum des gesamten Scriptes angelegt wird. Will man also bei PHP-Versionen < 5.x die Rendundanzen der Global-Arrays beseitigen, so muss man im selblen Namensraum, in dem man das Laden veranlasst hat auch das Löschen der alten $HTTP_*_VARS wieder durchführen. Soweit ich das jetzt überblicke, betrifft das aber nur $HTTP_SESSION_VARS, da alle anderesn Arrays bereits mit dem Scriptstart geliefert werden.
Liebe Grüße aus http://www.braunschweig.de
Tom
Hallo!
"... allerdings aus dem Namensraum, in dem session_start() ausgeführt wurde."
Was heißt hier Namensraum, bzw. wo soll man das unset durchführen?
Habe ich wohl doch noch kein Alzheimer. Erkenne ich doch mein Posting wieder. Dann lag der Gedächtnisverlust wohl doch am Schwächeanfall.
[pref:t=79156&m=458439] ;-)
$_SESSION ist "superglobal"
$HTTP_SESSION_VARS ist nur "global"Will man also bei PHP-Versionen < 5.x die Rendundanzen der Global-Arrays beseitigen, so muss man im selblen Namensraum, in dem man das Laden veranlasst hat auch das Löschen der alten $HTTP_*_VARS wieder durchführen.
Jo, kenne mich aus!
Danke Tom,
Viennamade
Hello,
Habe ich wohl doch noch kein Alzheimer. Erkenne ich doch mein Posting wieder. Dann lag der Gedächtnisverlust wohl doch am Schwächeanfall.
[pref:t=79156&m=458439] ;-)
Nee, eher zu wenig Bier getrunken. Bier ist sehr gesund und stabilisiert den Blutdruck ;-))
Liebe Grüße aus http://www.braunschweig.de
Tom