Anmeldung

crazy_chicken

Erfahrenes Mitglied
Hallo Zusammen,

ich will eine seite programmieren, wo die nutzer sich anmelden können und später auch ausloggen.
Es klappt alles bis auf eins. Wenn der Nutzer über den Browser zurückgeht (nach dem ausloggen) so wird er wieder eingeloggt, da in $_POST alles gespeichert ist.
Wie kann man es umgehen. Mit Session hat es auch nicht ganz geklappt.
Danke im voraus!
 
Sessions sind normalerweise eigentlich DAS Mittel, um Anmeldungen zu speichern. Die Daten von Seite zu Seite mit POST oder GET mitzuziehen ist viel zu aufwendig und bedarf eines großen Aufwands um Manipulationen zu verhindern.
Zu der Frage an sich ist die einfachste Lösung, das POST Array zu leeren.
PHP:
$_POST = array();
Wie gesagt, die definitiv bessere Lösung ist die Session, und die läßt sich auch ganz einfach und sicher beenden.
PHP:
// Alle Session Variablen löschen.
$_SESSION = array();

// Cookie löschen
if (isset($_COOKIE[session_name()])) {
    setcookie(session_name(), '', time()-42000, '/');
}

// Session zerstören
session_destroy();
 
Danke für schnelle antwort,
ich habe das Problem mit
PHP:
unset($_POST);
gelöst, ist ja das gleiche wie
PHP:
$_POST = array();
.
Ich hoffe das ist nur keine unschöne Lösung.=)
 
Doch, ist es. Verwende Sessions, das ist genau das, was du erreichen willst. Sonst musst du auf jeder Seite die zu transportierenden POST-Variablen in ein verstecktes Formular packen.

Verwende session_destroy() um die Session-Variablen zu leeren und die Session zu beenden, wie Sprint auch schon geraten hat.
 
PHP:
unset($_POST);
gelöst, ist ja das gleiche wie
PHP:
$_POST = array();
.

Nene, das selbe ist das nicht.
Das mit post zu machen ist doch nichts vernünftiges, wenn man dann eingeloggt ist, kann man ja keinen Link klicken ohne ausgeloggt zu werden, weil jedes mal die Authentifizierungsdaten per post mit übertragen werden müssen.
 
Zurück