Mailinglisten-Archive |
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