[php]vider le contenu d'une variable

bezourox Messages postés 730 Date d'inscription   Statut Membre Dernière intervention   -  
bezourox Messages postés 730 Date d'inscription   Statut Membre Dernière intervention   -
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 !
A voir également:

3 réponses

PeJo Messages postés 1382 Date d'inscription   Statut Membre Dernière intervention   176
 
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   Statut Membre Dernière intervention   430
 
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 730 Date d'inscription   Statut Membre Dernière intervention   143
 
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