2010-11-21 12 views
2

Ich schreibe eine Social-Networking-Site, und ich versuche, PHP-Sitzungen herauszufinden. Oben auf der Anmeldeseite rufe ich session_destroy() auf, und ich rufe session_start() auf der Seite auf, auf der neue Benutzer offiziell als Benutzer und auf der Benutzer-Homepage registriert sind. Wenn sich ein Benutzer abmeldet, wird er mit der Homepage mit session_destroy verbunden, aber dann kann ich mich als der gerade abgemeldete Benutzer wieder anmelden, egal welchen Benutzernamen oder welches Passwort ich eingegeben habe. Dies ist das erste Mal, dass ich mit Sitzungen arbeite, also frage ich mich, wo ich session_destroy setzen soll, damit es die Sitzung zerstört, wenn ich mich auslogge.Wie kann ich eine PHP-Sitzung beenden?

Antwort

5

Verwenden Sie session_destroy, um die Sitzungsdaten zu löschen, und session_unset, um die Variable $_SESSION zu löschen.

Des Weiteren rufen Sie nach einem Authentifizierungsversuch session_regenerate_id(true) auf, um die ID der aktuellen Sitzung zu ändern und die Sitzungsdaten zu vernichten, die noch der alten Sitzungs-ID zugeordnet sind.

+0

Wo setze ich die Anweisung session_destroy? –

+1

@Nerd mit einer Rache: Ruf an, wo die aktuelle Sitzung zerstört werden soll. Hinweis, 'session_start' vorher aufzurufen, sonst wird die Sitzung nicht geladen. – Gumbo

+0

Hey danke Alter! Ich werde dich auf mein Projekt hinweisen! –

Verwandte Themen