phpbar.de logo

Mailinglisten-Archive

[php] Session

[php] Session

Christoph Rust info at webmaster-rust.de
Mon Sep 6 16:52:37 CEST 2004


Lutz Zetzsche schrieb:

> dann sag das auch explizit. :-) Du hast nur etwas beschrieben, was auf den
>
>Verlust der Session-ID hinwies (-> "...das eine komplett neu
>generierte SessionID angehangen wird."). Das passte auch mit Deinem
>Beispiel zusammen.
>
>1. Warum setzt Du die Session-ID eingangs explizit mit session_id()? Da
>dadurch der Cookie bei jedem Seitenaufruf neu gesetzt wird und ein Cookie
>nicht in der Seite, die ihn setzt, sondern erst beim naechsten
>Seitenaufruf ausgelesen werden kann, koennte das schon Dein Problem
>verursachen. PHP findet keinen Session-Cookie und damit keine Session-ID
>und generiert eine neue Session-ID. Nur eine Ueberlegung, aber guck mal,
>ob es nicht daran liegt. Verzichte doch mal auf das session_id() am
>Anfang.
>
>2. Wenn Du die Session-ID nicht mit <?php echo($_SERVER['PHP_SELF'].SID);
>?> einbauen moechtest, dann guck Dir mal unter
>     http://de3.php.net/manual/en/ref.session.php
>den Konfigurationsparameter "session.use_trans_sid" an. Ich meine, damit
>kann man das erzwingen, was Du willst. Ich habe es aber selbst noch nicht
>ausprobiert. :-)
>  
>

Du hast Recht :)
Beim ausprobieren bin ich darauf gestoßen, dass er beim Aufruf von 
session_id() jedesmal ein neues Cookie setzt.
Aber ich brauch die Funktion session_id() ja, um PHP mitzuteilen, welche 
ID er für die Session verwenden soll und somit auch an die URL anhängt, 
würde ich das nicht machen, erzeugt er mir ja eine richtige Random 
ZufallsID, die ich aber nicht benutzen kann.

Lösungsversuch:

Wenn ich erst immer prüf, ob sessid im $_COOKIE-Array nicht vorhanden 
ist und dann die Funktion session_id($id) aufrufen müsst es gehen...
Aber wie bekomm ich das Prefix für die Session, denn wenn es auf dem 
Server geändert wird, heißt die Variable im Cookie ja nicht mehr sessid 
sondern z.B. PHPSESSID (Grundeinstellung)...
session_name() müsste eigentlich gehen....
Ich werds mal prüfen...
Aber danke für deine Hilfe...

M.f.G.



php::bar PHP Wiki   -   Listenarchive