Login Problem (wieder einer)

BeaTBoxX

Erfahrenes Mitglied
Hiho,

das ist bestimmt nicht der erste Thread zu diesem Thema, trotzdem hab ich ein kleines Problem:

Habe einen Login gebastelt, der auch funktioniert. Allerdings passiert beim logout-Vorgang etwas komisches:

Ich habe in dem Loginscript (sinngemäß) ein

Code:
if( $_POST['action'] == 'Logout') {
...
session_destroy();
...
}

Diese login.php wird per require_once() oben in die index includet.
Weiter unten sind ein paar Links die nur bei eingeloggtem Zustand sichtbar sind.
Diese sind allerdings immernoch da. Erst wenn ich refreshe, verschwinden die Links.

Ich war der Meinung beim Abarbeiten des Scripts reicht es, wenn das session_destroy(); vor einem (fiktiven) if( $eingelogged) {..} kommt.
Kann mir das jemand erklaeren? Mach ich nen Denkfehler?
Eigentlich sollte zu dem Zeitpunkt, wo er prüft ob die sessionvariable vorhanden ist, die session schon destroyed haben oder?
Ich hoffe das ist aussagekrätig so. Wollte nicht den ganzen Code posten :-)

Danke

Frank
 
Zuletzt bearbeitet:
Um auf Nummer sicher zugehen, solltest du zusätzlich zu deinem session_destroy() noch alle Session-Variablen leeren / löschen.
also:
PHP:
//Session wiederaufnehmen
session_start();

//Session-Variablen zurücksetzen
$_SESSION = array();

//Session beenden
session_destroy();

Alles nachzulesen unter http://php.net/session oder http://php.net/session_destroy
 
Zurück