[php]vider le contenu d'une variable

Fermé
bezourox Messages postés 729 Date d'inscription vendredi 30 mars 2007 Statut Membre Dernière intervention 19 janvier 2013 - 28 juin 2007 à 10:09
bezourox Messages postés 729 Date d'inscription vendredi 30 mars 2007 Statut Membre Dernière intervention 19 janvier 2013 - 28 juin 2007 à 10:36
bonjour à tous .
voila j'ai un petit soucis sur un générateur de code html .

j'ai une premiere page ou l'utilisateur renseigne :

question 1 : input type text
reponse 1 : input type text
reponse 2 : input type text
reponse 3 : input type text

question 2 : input type text
reponse 1 : input type text
reponse 2 : input type text
reponse 3 : input type text

question 3 : input type text
reponse 1 : input type text
reponse 2 : input type text
reponse 3 : input type text


...

Puis un bouton submit qui renvoie à la page suivante .

La page suivante crée mon code html, et pour cela j'ai une boucle 2 boucles .
Voici le code :

for($i=1;$i<=$nombre_de_questions;$i++)
		{
			$question = $_POST['question'.$i];
			echo '<dt><h2><b>'.$i.'. '.$question.' </b></h2>';
			for($j=1;$j<=$nombre_de_reponses;$j++)
			{
				$rep = $_POST['reponse'.$j];
				echo '<dd><input type="radio" name="q'.$i.'" value="'.$j.'">'.$rep.'<br />';
			}
			
			echo '<br /><br />';
		}


Pour tester, je remplis tous mes inputs .
Je clique sur submit .
Le code de la page à générer s'affiche dans un textarea .
Je fais un copier coller du code et l'enregistre dans un fichier d'extension .php .
Je lance ce fichier sous firefox.
Voici le résultat :
résultat :

1. Le drapeau francais comporte :
on va pas au travail
on est frais comme un gardon
c'est chiant
caca qui fouette
normal


2. Vitel est il ?
on va pas au travail
on est frais comme un gardon
c'est chiant
caca qui fouette
normal


3. lendemain de fete ...
on va pas au travail
on est frais comme un gardon
c'est chiant
caca qui fouette
normal

Voila le soucis est que toutes les reponses aux questions sont les mêmes, et se sont les réponses de la dernière question .
Vous voyez quel est le soucis dans ma boucle ?
Perso je pense qu'il s'agit d'une histoire de vider le contenu de la variable avant de passer aux réponses de la question suivante .

Je suis tout ouis à vos suggestions .

PAR AVANCE , MERCI !

3 réponses

PeJo Messages postés 1374 Date d'inscription mardi 14 février 2006 Statut Membre Dernière intervention 17 juin 2008 176
28 juin 2007 à 10:28
Salut,
je pense qu'il y à un problème avec le passage de tes variables.
Le problème est que pour question1 tu as les variables réponses 1, 2 et3.
Pour question 2 tu as réponses 1, 2 et 3.
Idem pour la question 3.
Quand tu fais submit il envoit les valeurs réponses1,2 et 3. Cependant ces valeurs ne peuvent correspondrent qu'aux dernières réponses car tu as écrasé les valeurs des deux premières.
Compte tenu de la rédaction de ta deuxième boucle for, le $j s'incrémente avec jusqu'au nombre de réponses. Essaye donc de faire ainsi :
question 1 | réponses 1, 2 et 3
question 2 | réponses 4, 5 et 6
question 3 | réponses 7, 8 et 9

Voilà, bon courage.
1
sfel Messages postés 1640 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 15 juillet 2009 430
28 juin 2007 à 10:35
bonjour,

ta seule erreur ne peut venir que de cette ligne
$rep = $_POST['reponse'.$j];


il faudrait presque que tu dises

$rep = $_POST['reponse'.$i$j];


ce qui donnerais comme nom a tes réponses, le numéro de la question, et de ta réponse.

fais voir une partie de ton code de ton formulaire, svp.

toutes tes réponses, ont pour nom reponse1
reponse2
reponse1
reponse2

ou reponse1-1
reponse1-2
reponse2-1
reponse2-3
1
bezourox Messages postés 729 Date d'inscription vendredi 30 mars 2007 Statut Membre Dernière intervention 19 janvier 2013 143
28 juin 2007 à 10:36
oki merci pour le conseil .
par contre ta solution ne va pas être pratique pour moi après .
je m'explique .
pour le moment je ne génere qu'un seul fichier, mais apres je souhaite aussi lorsque cette page est générée qu'une autre page soit générée, celle du programme de correction .
Ce programme de correction est déja créé et fonctionne sur le meme principe que la boucle du dessus .
en bref si me mec veut générer 20 questions avec 5 reponses possibles par questions, on atteint un total de 100 reponses :s
et pour les tester ... ca va être galère ...

enfin laisse tomber c'est un peu compliqué a t'expliquer , je vais essayer de me debrouiller :)
0