2010-11-29 4 views
2

Heres die Situation: Ich habe ein Formular, das über drei Seiten verteilt ist. (Seite A, Seite B, Seite C). Benutzer beginnt bei A und füllt das Formular klickt Schaltfläche, diePHP-Formular über mehrere Seiten muss vorbelegt werden, wenn Benutzer rückwärts geht

foreach($_POST as $key => $val){ 
    $_SESSION[$key] = $val; 
    } 

ich oben auf Seite B geht verwenden Formularergebnisse in einer Sitzung zu senden. Jetzt kann Benutzer entweder Seite B ausfüllen und klicken, um zu Seite C zu gelangen oder Klicken, um "zurück" zu Seite A zu gehen. Wenn der Benutzer zu A zurückkehrt, möchte ich, dass alle Felder ausgefüllt werden.

Ich mehrere dieser oben, um das Formular vorzufüllen.

Ok, hier ist das Problem. Wenn der Benutzer A -> B -> C wählt und dann zu B zurückkehren möchte, verliere ich alle Sitzungsvariablen von A. Und offensichtlich geht der Benutzer dann zu einem None zurück, in dem Felder Daten enthalten.

Jede Hilfe wäre großartig.

Antwort

1

tun eine Umleitung nach einer POST, so dass die brouwser wird umbuchen nicht

if($_SERVER['REQUEST_METHOD'] == 'POST') { 
    header('Location: '.$_SERVER['REQUEST_URI']); 
} 

dies hält die Frage nach Post-Daten erneut gesendet wird (Seite veraltet), wenn sie mit der Geschichte der Navigation

Verwandte Themen