navigation entre formulaires

Petit nouveau ! | 1 Messages

16 mai 2006, 19:28

Bonjour à toutes et tous,

Voici ce que j'essaie de faire, il s'agit d'une page permettant de choisir quels formulaires on souhaite, puis, dans une autre page, on remplit un par un ces formulaires selectionnés, et enfin, on envoit par un mail, les données saisies dans tous ces formulaires.

Mon code:

alors voici ma premiere page qui contient la liste des questionnaires, avec des checkbox devant pour que l'internaute choisisse ce qu'il veut (plusieurs choix possibles) :

Code : Tout sélectionner

<? session_start(); <!--initialisation des variables du choix de questionnaire--> for($i=1;$i<=5;$i++){ $_SESSION["questionnaire".$i]=""; } <!--initialisation des variables de chaque questionnaire--> for($i=1;$i<=15;$i++){ for($j=1;$j<=4;$j++){ $_SESSION["questionnaire1_".$i."_".$j]=""; } } for($i=1;$i<=18;$i++){ for($j=1;$j<=4;$j++){ $_SESSION["questionnaire2_".$i."_".$j]=""; } } ... for($i=1;$i<=10;$i++){ for($j=1;$j<=4;$j++){ $_SESSION["questionnaire5_".$i."_".$j]=""; } } ?> <!--liste des questionnaires--> <form name="formulaire_index" id="form1" method="post" action="questionnaire.php"> <input name="questionnaire1" type="checkbox" id="choix1" value="questionnaire1" /> questionnaire 1<br> <input name="questionnaire2" type="checkbox" id="choix2" value="questionnaire2" />questionnaire2<br> <br> .... <input name="questionnaire5" type="checkbox" id="choix5" value="questionnaire5" />questionnaire5<br> <br> <input type="submit" name="Submit" value="Envoyer" /> </form>

ensuite, j'ai une deuxieme page, qui fait l'affectation des variables (mais c'est la que ca bloque), qui teste quel questionnaire à afficher à présent, et qui affiche le questionnaire avec un "include"



Code : Tout sélectionner

<!-- attribution valeurs aux variables choix des questionnaires --> <? for($i=1;$i<=5;$i++){ $_SESSION["questionnaire".$i]=${questionnaire.$i}; } ?> <!-- attribution valeurs aux variables questionnaire 1 --> <? for($i=1;$i<=15;$i++){ for($j=1;$j<=4;$j++){ $_SESSION["questionnaire1_".$i."_".$j]=${questionnaire1_.$i._.$j}; } } <!-- idem pour questionnaire2, 3, ...questionnaire5 --> ?> <!-- test et selection du questionnaire à afficher --> <? if(!empty($_SESSION["questionnaire1"])){ <!-- si l'utilisateur a choisi le questionnaire1, on l'affiche --> include('questionnaire1.php'); } else { <!-- on teste s'il a choisi le questionnaire2 et on l'affiche --> if(!empty($_SESSION["questionnaire2"])){ include('questionnaire2.php'); <!-- on réitère jusqu'au dernier questionnaire, le 5 --> <!--et une fois que tout est passé en revue, on affiche la page "coordonnées.php" pour saisir les coordonnees et envoyer le mail récapitulant tout! --> include('coordonnees.php'); } ?>


enfin, j'ai mes pages de questionnaires (celles contenues tour à tour dans la page du dessus) sous cette forme:

Code : Tout sélectionner

<FORM method="POST" action="questionnaire.php"> <!--première liste déroulante de mon questionnaire1--> <select name="questionnaire1_1_1" id="questionnaire1_1_1"> <option value="non r&eacute;alis&eacute;" selected>non r&eacute;alis&eacute;</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> </select> <!--il y en a pas mal encore apres !!!--> .... <!--et à la fin de chacun de mes questionnaire, je renvoie les résultats vers la page qui contient ("questionnaire.php") et je libère ma variable initiale, afin que le questionnaire suivant s'affiche à la place du questionnaire1--> <INPUT type="submit" value="valider"> </FORM> <? $questionnaire1 = ""; $_SESSION["questionnaire1"] = $questionnaire1; ?>


Voila, j'espere que vous comprendrez davantage ce que j'ai voulu faire avec ce code, sachant qu'a mon avis, le probleme vient du fait que lorsque j'attribue mes valeurs de formulaire dans les variables de session, cela pose probleme apres le premier questionnaire saisit, car des valeurs nulles sont affectees aux variables qui stockaient les valeurs du premier questionnaire.

un grand merci d'ailleurs si vous prenez le temps de tout lire! :D