Wie kann ich meine php-Sitzungsdaten korrekt löschen?

8

Meine php Website läuft so:

  • Page1.php hat ein HTML-Formular, das an Page2.php
  • gesendet wird
  • Page2.php speichert alle POST-Daten in SESSION-Variablen und hat eine Schaltfläche, die zu Page3.php
  • führt
  • Page3.php hat ein anderes Formular, das seine Daten an Page4.php
  • sendet
  • Page4.php speichert dann alle seine POST-Daten in SESSION-Variablen

Mein Problem ist, dass es für einen Benutzer nicht nötig ist, auf die Zurück-Schaltfläche in Page4.php zu klicken, um zu Page3.php zurückzukehren und einige Eingaben zu ändern. Wenn Sie sicher sind, dass Sie alle auf Seite3.php zugreifen, ist das Formular leer, da die gesamte Seite im Standardzustand wiederhergestellt wird.

Um dies zu umgehen und die vorherige Eingabe des Benutzers erneut anzuzeigen, tun Sie Folgendes:

%Vor%

Dies ist der wichtige Teil - <?php echo $_POST["guest1Ticket"];?>

Das funktioniert, aber schafft ein anderes Problem für mich. Wenn der Benutzer zu Page1.php zurückkehrt (bevor er seinen Browser aufruft) und den Prozess erneut startet, wenn er zu Page3.php gelangt, werden die Daten von seinem letzten Durchlauf in das Formular geladen.

Was ich herausfinden muss, ist alle session Variablen zu löschen, wenn der Benutzer Seite1.php besucht. Ich habe versucht, das so:

%Vor%

(Das Obenstehende befindet sich ganz oben in meiner Datei ohne Leerzeichen vor dem ersten Zeichen.)

Es werden keine Warnungen generiert, wenn Page1.php geladen wird, die Sitzungsvariablen jedoch nicht deaktiviert werden. Wenn ich zu Page3.php komme, werden die Daten des letzten Laufs immer noch in das Formular eingegeben.

Wie kann ich meine Sitzungsdaten korrekt löschen?

BTW Ich brauche das nur, um in Chrome zu funktionieren und das ist der Test.

    
DelightedD0D 19.03.2013, 05:37
quelle

3 Antworten

11

Verwenden Sie session_unset () nur für älteren veralteten Code, der $ _SESSION nicht verwendet.

siehe session_destroy-Handbuch

Beispiel können Sie versuchen und sehen, wie es funktioniert

session.php

%Vor%

zerstört.php

%Vor%     
Grmn 19.03.2013, 05:41
quelle
2

Aus der Dokumentation:

%Vor%

Und pass auf session_destroy auf:

  

session_destroy zerstört alle mit der aktuellen Sitzung verbundenen Daten. Die globalen Variablen, die der Sitzung zugeordnet sind, werden nicht deaktiviert.

    
MatRt 19.03.2013 05:40
quelle
0

Verwenden Sie session_unset (). So:

%Vor%

Dies würde ausgeben:

%Vor%     
Ewer Ling 12.07.2015 14:44
quelle

Tags und Links