Am Samstag, 14. Juni 2003 16:19 schrieb Frank Röske:
Am Samstag, 14. Juni 2003 16:09 schrieb Martin Borchert:
Nun werden ja aber üblicherweise die Session-Variablen serverseitig gespeichert, der Browser sollte da doch überhaupt nichts mit zu tun haben, oder? hmmm, lies Dir am besten 'mal http://www.php.net/manual/en/ref.session.php durch, da solltest Du Deine Fragen geklärt bekommen. Relevant dürfte insbesondere session.cookie.*, session.use_cookies und session.use_only_cookies sein, denn die Cookies werden nicht Serverseitig, sondern im Browser gespeichert
Ich hab mir das mal angetan und ein bisschen herumexperimentiert. Ich habe also im wesentlichen fünf Möglichkeiten, meine Variablen von Seite zu Seite zu schleifen. 1. Verewigung in der html-Seite als Querystring, hidden formfields 2. Als Cookie 3. Mit dem Array $_SESSION 4. Mit dem Array $HTTP_SESSION_VARS 5. Mit session_register() 1. und 2. finde ich suboptimal weil sehr leicht manipulierbar. 3.-5. sind allesamt ähnlich. Variablen werden linearisiert auf dem Server gespeichert, der Browser muss sich um nichts kümmern. Was mir nicht so ganz klar ist, wie werden die Sessions auseinandergehalten? Ich bin davon ausgegangen, dass php das Session Management übernimmt. Wenn ein Cookie nicht funktioniert, dann eben über $SESSID in $QUERY_STRING. Faslhc? Mir ist der Wirkmechanismus der letzten drei überhaupt nicht klar. Mein Ergebnis war in etwa: $HTTP_SESSION_VARS funktioniert in Abhängigkeit vom Browser (Konqueror/Linux tut, Opera/Win32 tut, IE6 tut nicht, Mozilla/win32 tut nicht) $_SESSION funktioniert in Abhängigkeit des Betriebssystems (Konqueror/Linux tut, */Win32 tut nicht) session_register() tut immer, unabhängig von Browser und Betriebssystem. Im PHP-Manual hab ich dazu keine tieferen Informationen gefunden. Kann aber auch sein, dass ich nicht an den richtigen Stellen gesucht habe. :( -- when in danger or in doubt, run in circles, scream and shout! pgp-key: via wwwkeys.de.pgp.net, key id is 0x21eec9b0