2010-11-29 9 views
2

Voici la situation: J'ai un formulaire qui est réparti sur trois pages. (Page A, Page B, Page C). utilisateur commence à A et remplit le bouton formulaire de clics qui va à la page BFormulaire PHP sur plusieurs pages doit préremplir si l'utilisateur recule

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

J'utilise ci-dessus pour envoyer les résultats de formulaire à une session. Maintenant, l'utilisateur peut soit remplir la page B et cliquer pour avancer à la page C ou cliquer pour retourner à la page A. Si l'utilisateur revient à A, je veux que tous les champs soient remplis.

  $Email = $_GET['preview'] ? $_SESSION['Email'] : $_POST['Email']; 

Plusieurs d'entre elles ci-dessus pour pré-remplir la forme.

Ok, voici le problème. Si l'utilisateur va A -> B -> C et veut ensuite retourner à B, je perds toutes les variables de session de A. Et, évidemment, l'utilisateur revient à un zéro. Les champs de A contiennent des données.

Toute aide serait géniale.

Répondre

1

faire une redirection après un POST, de sorte que le brouwser ne rediffuser

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

ce qui arrête la question sur les données post réémission (page de date) lors de la navigation avec l'histoire