Par défaut les valeurs ne se gardent pas. HTTP est stateless, donc chaque requête est indépendante.
Une solution est de remettre toutes les données précédentes dans le formulaire pour les retrouver, genre formulaire 1 :
Code :
- <form action="form2.php" method="post">
- <div>
- <label for="f_valeur">Valeur</label><br />
- <input type="text" name="valeur" id="f_valeur" />
- </div>
- <div>
- <input type="submit" value="Envoyer" />
- </div>
- </form>
|
Puis dans le deuxième formulaire on récupère la valeur, qu'on place dans un input hidden. Le formulaire 3 pourra alors y accéder :
Code :
- <form action="form3.php" method="post">
- <div>
- <label for="f_valeur2">Valeur 2</label><br />
- <input type="text" name="valeur2" id="f_valeur2" />
- </div>
- <div>
- <input type="hidden" name="valeur" value="<?php echo htmlspecialchars($_POST['valeur']); ?>" />
- <input type="submit" value="Envoyer" />
- </div>
- </form>
|
(prévoir un peu de validation pour être sûr qu'une valeur a été bien transmise)