Bonjour,
Stocker les données dans des variables de session peut être une idée oui.
Mais il y aussi plus simple encore : vous pouvez faire le traitement du formulaire dans le même fichier et avant l'affichage du formulaire lui même.
Ainsi vous récupérer toutes les données du formulaire en post, et si quelque chose ne va pas, vous pouvez mettre un message d'erreur à l'utilisateur + préremplir les champs du formulaire avec les variables $_POST.
Bonjour,
Merci pour votre conseil.
Finalement, en copiant une très bonne référence, très détaillée et bien expliquée, trouvée en
http://www.captcha.biz/how-to-use-captcha.html (la partie la plus complète "Know it all"), j'ai utilisé une variable session, ce qui me permet de traiter les données dans un fichier à part et rend l'application plus modulaire (il y a pas mal de lignes de code). La variable de session est indispensable car je passe la main au traitement du formulaire par une redirection qui perd les valeurs placées dans $_POST (header("Location: inscription.php"); ). Peut-être y avait-il un autre moyen de passer la main sans faire de redirection ? Comme ça a marché ainsi je n'ai pas cherché plus loin.
Comme mon formulaire comportait beaucoup de composants, et de types divers (entrée d'une ligne, de plusieurs lignes, boîte à cocher, liste déroulante,...), j'ai dû modifier pas mal de code et chercher comment, par exemple, positionner une liste déroulante sur le choix déjà fait (malheureusement pas expliqué dans la référence que je donne ci-dessus), mais je suis finalement arrivé à mes fins. La difficulté n'est donc pas venue de l'utilisation d'une variable de session mais plutôt de cette recherche et de la quantité de code à modifier.
Si j'ai bien compris, la solution que vous préconisez m'aurait seulement permis de ne pas ajouter les valeurs dans la session mais j'aurais tout de même dû faire tout le travail sur les composants pour récupérer les valeurs déjà saisies, non ? (par exemple, en utilisant "value=" pour les champs input). L'utilisation de variables de session est très simple puisque j'ai tout simplement mis le tableau $_POST dans la session par $_SESSION['post'] = $_POST et ça me semble donc une bonne solution. Mais comme ne suis pas bien meilleur qu'avant en PHP, je ne suis pas vraiment un bon juge.
Cordialement.