$_SESSION löschen geht nicht

  • Themenstarter Themenstarter Raxxor
  • Beginndatum Beginndatum
R

Raxxor

Hi,
ich habe folgendes Problem:

ich hab ein Login-System und ich speichere in der Session die User-ID ...also:
PHP:
$_SESSION['iduser'] = 231;
Wenn der User sich abmelden will, lösch ich diese durch:
PHP:
unset($_SESSION['iduser']);
ebenfalls habe ich diese Variationen benutzt:
PHP:
$_SESSION = array();
session_destroy();
und
PHP:
session_unset;
session_destroy;

Dies funktioniert bis dahin auch, wenn ich $_SESSION mit print_r($_SESSION); direkt auf der Seite, die ausloggt (logout.php), ausgebe, d.h. $_SESSION ist leer. Wenn ich allerdings nun auf index.php ebenfalls wieder über print_r($_SESSION); ausgebe, wird mir wieder angezeigt, dass $_SESSION['iduser'] gesetzt ist und den alten Wert wieder angenohmen hat.

Bitte helft mir ich bin am Verzweifeln...

Ich habe auch schon über Probleme mit der Weiterleitung gelesen und hab deshalb die Weiterleitung über header(); auskommentiert und index.php direkt in der Adresszeile eingegeben, jedoch hat sich nichts geändert.

Mit freundlichen Grüßen
Raxxor

PS: Ich habe die SuFu und Google benutzt... ;-)..aber leider nichts gefunden. :-(
 
Beim Login, wird der Wert gesetzt. Ich habe auch nachgeguckt, dass es nicht ausversehen aufgerufen wird. Aber es ist nichts da, was es aufrufen könnte...

Es wird nicht einmal eine Datei eingebunden (hab alles in Klassen gepackt), die diesen Wert setzten könnte, geschweigedenn ausgeführt.

Ich weis net woran es liegen könnte.

ich schreib mal paar Teilstücke rein, was ausgeführt wird.

PHP:
session_start();
$_SESSION['iduser'] = $row['iduser']; //über MySQL wird die ID aus der DB gelesen
*auf-der-Seite-rumnavigieren*^^
Logout:
MySQL-Queries, die auch den Logout in der DB mitschreiben und auch funktionieren (es wird immer z.B. die Dauer seit dem letzten Überprüfungsvorgang des Logins geprüft und gewisse Hashes zur Kontrolle generiert...)
auf alle Fälle wird in der DB was verändert und der User ist eigentlich nicht mehr angemeldet
PHP:
unset($_SESSION['iduser']);

Jedenfalls möchte ich auch den Session-Eintrag löschen..nur das geht halt nicht.

@gumbo: Danke für deine schnelle Antwort

Mit freundlichen Grüßen
Raxxor
 
Tut das eigentlich zur Sache? (Nicht böse gemeint)

Aber mir gehts darum, das ich auf einer Seite die Werte lösche und dann auf der nächsten diese wieder da sind. Was mich stuzig macht.

Mit freundlichen Grüßen
Raxxor
 
Ich versuche nur die Ursache herauszufinden. Gibt es vielleicht so etwas wie eine Remember-me-Funktion?
 
Er meint eine Erinner mich funktion. Die ist dafür da, das der User sich nicht jedesmal einloggen muss, sondern eingeloggt bleibt.

Benutzt du Session/Cookies für Login/Logout oder prinzipiell woanders?
 
Ja, in der Session wird nur die Id des Users gespeichert und bei jedem aufruf einer Seite wird überprüft, ob er eingeloggt ist(also ob die Zeiten in der DB stimmen und nicht älter als 10 min. sind.
 
Zurück