Formulaire php avec plusieurs étapes.

Fermé
mathopti - 18 juin 2007 à 10:28
 Alain42 - 18 juin 2007 à 11:32
Bonjour,
J'utilise une application pour faire des formulaires dévellopée en php(chronoform). Les données saisies par les visiteurs sont stockées dans une base de donnée.
J'ai fait un formulaire composé de 3 étapes. Le visiteur renseigne le formulaire 1, après validation, un lien s'affiche, en dessous du formulaire validé l' invitant à cliquer sur un lien pour passer à l'étape suivante. Le lien réccupère quelques champs du 1er formulaire afin qu'ils s'affichent dans le second, il est de la forme :
echo'<a href = "formulaire.php?nom_table=test2&ident='.$champ7.'&adr='.$champ8.'&cde='.$champ13.'&vil='.$champ14.' "> ETAPE SUIVANTE</a>';

Problème :
D'une part, certains utilisateurs ne s'aperçoivent pas qu'il y a un lien en bas même si c'est signalé en haut du formulaire. D'une autre part, je trouve que cela serait moins con que le visiteur puisse passe d'un formulaire à l'autre d'une manière automatique, juste après la validation. Remarque importante : l'application que j'utilise offre la possibilité d'executer un script php à la validation ( il y a un champ prévu à cet effet, c'est le champ que j'utilise pour tape le code qui affiche le lien décrit ci-dessus).

Question :
Existe t-il un moyen de faire, à la validation, une redirection vers le formulaire 2 php qui tient compte des champs à réccupérer. J'ai dèjà essayé: header("Location: http://www.optimath.fr/form/formulaire.php?nom_table=inscrip2&ident='.$champ4.'&adr='.$champ12.'&cde='.$champ13.'&vil='.$champ14.'");
exit();
mais cela ne marche pas.
Merci d'avance de votre retour

3 réponses

Premier remarque tu passes les parametre dans l'URL ce n'est pas bien. Utilise plutôt la methode POST
Les paramètres passes ne seront pas visibles.

Ensuites tu peux creer 3 pages:
page1.php qui contient et affiche le formulaire1
<form name="form1" method="post" action="page2.php">
et qui appelle la page2.php

page 2.php avec en tete partie php qui traite les donnes reçues de form1 ($_POST[.....])
et la partie html du formulaire2
<form name="form2" method="post" action="page3.php">
et qui appelle la page3.php

etc...

Autre solution si tu veux absolument que la page1 appelle la page1 en fin de traitement php: tu met un petit script javascript avec header.location.href="page2.php ";
2
optimath Messages postés 1 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 18 juin 2007
18 juin 2007 à 11:26
D'abord merci pour cette réponse très rapide et très claire.
Je vais devoir me mettre dans php afin d'appliquer vos conseils et remarques. L'application que j'utilise "chronoform" ne me permet pas de les appliquer directement. Pour voir à quoi ressemble l'application c'est ici http://chronosite1.free.fr/formulaire/ , les identifiants sont (prive , prive ). L'exemple qui illustre ma question est le premier , les table s'appellent: formulaire_chaine et formulaire_chaine2.
Je choisis le type de champ : commentaire, liste deroulante, QCM, champs php, champs sql pour effectuer des calculs , et je les ajoute aux formulaires. A la fin de chaque formulaire j'ai la possibilité de rajouter un code php qui s'exécute à la validation. Si je ne me suis pas mis au php c'est par manque de temps. C'est peut être l'occasion.
Si toutefois, d'autres personnes ont une réponse, j'en serai très reconnaissant.
0
Pour editer les fichiers PHP ou HTML, moi j'uitlise Notpad++ gratuit et qui est pas mal.

Donc ce que tu peux faire c'est te mettre au php en allant sur Google. Il y a une foule de sites d'aide, de tutoriaux.

Et tu essaye de modifier tes fichiers.

C'est vrai que lorsque ils sont crees avec un utilitaire ce n'est pas simple.
0