Ich habe versucht einen Benutzerlogin nach dem Tutorial von hier zu erstellen. Wenn ich einen Benutzer ein und wieder auslogge und dann einen anderen Benutzer einlogge, wird jedesmal die gleiche Session_ID erstellt. Ist das normal oder wo könnte der Fehler liegen?
immer gleiche session_id
Einklappen
X
-
Der Code ist der gleiche wie von hier: http://www.php-resource.de/tutorials/read/38/1/
Dazu habe ich bei dem Logout noch session_destroy(); hinzugefügt.
Php.ini:
Ich habe das auf meinem lokalen WinXP System getestet mit Php5, MySQL5 und Xitami Webserver. Wenn ich einen anderen Browser benutze wird erstmal eine neue Session erstellt. Aber wenn ich das gleiche dann wieder mache login/logout und dann neuer user login wird immer die gleiche Session_ID vergeben.Code:[Session] session.save_handler = files session.use_cookies = 1 session.name = PHPSESSID session.auto_start = 0 session.cookie_lifetime = 0 session.cookie_path = / session.cookie_domain = session.serialize_handler = php session.gc_probability = 1 session.gc_divisor = 100 session.gc_maxlifetime = 1440 session.bug_compat_42 = 1 session.bug_compat_warn = 1 session.referer_check = session.entropy_length = 0 session.entropy_file = session.cache_limiter = nocache session.cache_expire = 180 session.use_trans_sid = 0 session.hash_function = 0 session.hash_bits_per_character = 4
Session_destroy() bewirkt nicht das das Session Cookies gelöscht wird. Man kann das bei Firefox sehr schön sehen, wenn man sich die Cookies anzeigen lässt. Das Session Cookie ist weiterhin vorhanden. Nur wenn ich es manuell über Firefox lösche wird eine neue Session ID erstellt.
Kommentar
-
http://php.net/session_destroy
Um die Session komplett zu löschen, z.B. um einen Benutzer auszuloggen, muss auch die Session-ID gelöscht werden. Wenn zum Verfolgen der Session ein Cookie benutzt wird (standardmäßige Einstellung), muss das Session-Cookie gelöscht werden. Dafür kann setcookie() verwendet werden.
Kommentar
-
gut, danke.
andere Frage:
In der php.ini ist der Wert auf 0 gesetzt, aber das Session Cookie bleibt erhalten, wenn ich den Browser schließe, sowohl mit Firefox als auch bei IE.session.cookie_lifetime spezifiziert die Cookie-Lebensdauer, die an den Browser geschickt wird, in Sekunden. Der Wert 0 bedeutet "bis der Browser geschlossen wird."
Kommentar
Moderator
Kommentar