HELLinG3R Geschrieben 11. März 2004 Teilen Geschrieben 11. März 2004 ich habe mich jetzt über sessions informiert, es ist aber noch eine frage offen. Um auf session-Variablen zugreifen zu können, muss ich in jedem script, das sessions verwenden soll session_start() ausführen. um die sessiondaten von der platte zu löschen benutze ich session_destroy(). okay, aber was passiert jetzt, wenn der benutzer einfach sein browserfenster schliesst, bevor er zb auf logout (das dann session_destroy() ausführt) klickt? bleiben dann die sessiondaten für immer auf meiner platte gespeichert??? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 11. März 2004 Teilen Geschrieben 11. März 2004 dafür gibts den parameter session_lifetime , der bestimmt, nach welcher zeit das OS die session daten verwirft, wenn sie nicht genutzt werden. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
HELLinG3R Geschrieben 11. März 2004 Autor Teilen Geschrieben 11. März 2004 oh, danke für die schnelle antowrt! das habe ich glatt überlesen *G* sorry! ession.cookie_lifetime integer session.cookie_lifetime spezifiziert die Cookie-Lebensdauer, die an den Browser geschickt wird, in Sekunden. Der Wert 0 bedeutet "bis der Browser geschlossen wird." Grundeinstellung 0. Siehe auch session_get_cookie_params() und session_set_cookie_params(). ^^ betrifft das auch die Daten auf der Festplatte (in /tmp) oder nur das cookie auf dem client?? mir gings nämlich um die daten im /tmp... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
etreu Geschrieben 11. März 2004 Teilen Geschrieben 11. März 2004 Durch folgende Angaben aus der php.ini wird das löschen gesteuert: [Session] # Zeit in Sekunden bis zur Ungültihkeit der Session. # Wenn die Session über diese Zeit nicht aktualisiert # wurde, dann wird sie als Müll markiert. # Aktuell: 1440 Sekunden (24 min) session.gc_maxlifetime = 1440 # Prozentzahl zum Aufruf des Garbage Collectors. # Aktuell: 1%, d.h. bei jedem 100sten wird geprüft ob # überfällige Session vorhanden sind. Wenn ja, werden # sie gelöscht. session.gc_probability = 1 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
HELLinG3R Geschrieben 15. März 2004 Autor Teilen Geschrieben 15. März 2004 okay, was ich jetzt noch nicht so ganz verstanden habe: wie erkennt das script / der browser, dass bei session_start() eine bestehende session (von gestern zb) fortgeführt werden soll? das geschieht durch das cookie, das beim user gespeichert wird, oder? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
etreu Geschrieben 15. März 2004 Teilen Geschrieben 15. März 2004 Teilweise richtig. Durch die per $_REQUEST verfügbare SessionId wird die Session reaktivert. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 16. März 2004 Teilen Geschrieben 16. März 2004 Original geschrieben von Enrico T. Teilweise richtig. Durch die per $_REQUEST verfügbare SessionId wird die Session reaktivert. Deshalb sollte man auch im Falle, dass das Cookie nicht gesetzt werden kann immer noch die Session id an die Links anfügen. ich verwende da immer ne funktion, die prüft ob ein cookie vorhanden ist, das den namen der session trägt, und falls das nicht der falls ist, hänge ich die session id an die links an. Bsp: function getSid( $url) { if ( !isset( $_COOKIE[ session_name()])) { if ( str_pos( $url, "?") != false) { return $url . "&". session_name() . "=" . session_id(); } else { return $url . "?". session_name() . "=" . session_id(); } } return $url; } [/PHP] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.