Cybaer: Session-Ende

Beitrag lesen

Hi,

Ich werde mich einmal näher mit dem Thema SESSIONS auseinandersetzten. VERSPROCHEN.

Insbesondere solltest Du auch das Konzept der HTTP-Header verstehen. Das wird dir immer wieder über die Füße laufen.

Ich stehe leider vor meinem nächsten PROBLEM. Ich bekomme die VARIABLE
$_SESSION['ONLINE']
leider beim vermeintlichen LOGOUT nicht gelöscht. Wer ist jetzt verantwortlich wofür?

Du!

session_destroy () für das löschen aller registrierter Daten, d.h diese Funktion löscht nicht die VARIABLE $_SESSION['ONLINE'], oder

Korrekt.

session_unset () löscht alle SESSION-VARIABLEN. Ich versteh im Moment nur noch Bahnhof.

Nicht aber $_SESSION! Du solltest Dir das PHP-Manual zu Gemüte führen: http://php.net/session-unset

Hier insbesondere die Anmerkung!

Um eine Session komplett zu beenden mußt Du:
1. $_SESSION löschen (z.B.mit unset())
2. mit setcookie() ggf. den Session-Cookie löschen
3. mit session_destroy() die Session beenden

Das könnte also so aussehen:

  
 unset($_SESSION);  
 if(isset($_COOKIE[session_name()])) {  
  $sessionCookieParams=session_get_cookie_params();  
  setcookie(session_name(),'',time()-42000,$sessionCookieParams['path'],$sessionCookieParams['domain']);  
 }  
 session_destroy();  

Gruß, Cybaer

--
Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!