Sven Rautenberg: Frage zu Sessions

Beitrag lesen

Moin!

Mit session_destroy(); sollte aber diese Session wieder zerstört werden. Da "1" in der letzte Zeile ausgegeben wird, denke ich, dass sie auch wirklich zerstört wird.

session_destroy() löscht das Session-Cookie nicht. Folglich wird die Session-ID auch bei weiteren Requests immer brav mitgeschickt, und PHP nutzt dieselbe SID weiter.

Ich persönlich würde session_destroy() nicht benutzen. Gute Alternativen sind, explizit die Daten der Session zu löschen (alles im Array $_SESSION, z.B. durch $_SESSION = array();), und/oder indem man den Status "nicht (mehr) eingeloggt" explizit als Status in den Sessiondaten festhält. Nach einer gewissen Zeit der Nichtbenutzung werden die Sessiondaten dann von der Garbage Collection entfernt.

- Sven Rautenberg