Mammouth du PHP |
19672 Messages
01 mai 2005, 10:36
Bon, ça commence à être plus clair et ça explique très bien le problème; La variable $_POST ne garde ses données que si elles sont relayées par un bouton de type submit dans un formulaire. Si tu quittes la page formulaire ou la page de résultat pour aller voir une autre page, en revenant sur ton formulaire, les données ont disparu : normal, en quittant le formulaire, tu as vidé la variable $_POST.
Maintenant, je devine ta prochaine question : comment garder ces données même si je quitte le formulaire: Avec des variables de session. C'est a dire qu'il faut dans un premier temps que tu envoies ton formulaire et que tu récupères le contenu da la variable $_POST : tu initialise ensuite des variables $_SESSION avec chacun des variables reçues.
Chacune de tes pages doivent impérativement commencer par la ligne session_start();
Quand tu veux retourner dans le formulaire, les variables ne seront plus dans $_POST, mais dans $_SESSION, donc pour remplir les champs, au lieu de :
<input type=text name=unun value="<?php if(isset($_POST['unun'])){ echo $_POST['unun'];} ?>"><br>
tu mets :
<input type=text name=unun value="<?php if(isset($_SESSION['unun'])){ echo $_SESSION['unun'];} ?>"><br>
Ça signifie aussi que tu vas devoir vérifier au début de ta page formulaire si $_POST existe et en récupérer les valeurs, si $_POST n'existe pas, vérifier alors $_SESSION.
Et si $_POST existe, ré-initialiser les variables $_SESSION
Et si aucune des deux n'existe, ton formulaire sera vide, ce qui servira surtout pour la première entrée sur la page formulaire.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse 