Page 1 sur 1

Vérifier si les champs sont bien rempli (tableau)

Posté : 24 juil. 2007, 15:16
par angebleu17
Bonjour,

J'aimerais vérifié si les champs sont correctement rempli. j'affiche plusieurs questions avec plusieurs choix de réponses possible, et j'affiche aussi une question alétoire, voici mes champs :
 echo'<input type="radio" name="question['.$id_question.']" value="'.$id_reponse.'">'.$nom_rep.'';                            
	   			
Ensuite je récupére les réponses choisi avec un foreach :
if (is_array($_POST['question']))   
{
foreach ($_POST['question'] as $Cle1=>$Rep1) 
{ 
if (empty($Rep1))
{
//affiche message d'erreur
}	  	
}	 
}
	
	
	
Quand il n'y a qu'une question ça marche, par contre s'il y a plusieurs questions et que je répond qu'a la 1ere il ne met pas le message d'erreur ! Il ne vérifie pas toute les questions en fait !!

Pourtant avec le foreach il devrait tout parcourir !! Comment faire pour vérifier si tous les champs (lorsqu'il y a plsuieurs questions) sont bien rempli ?

Posté : 24 juil. 2007, 15:23
par béka
t'as essayé avec une boucle for ?

Posté : 24 juil. 2007, 15:26
par Genova
Et si tu essayais de débuguer ? Ce genre de problème est réglable par soit même :
- affiche le contenu de $_POST['question'] avec print_r()
- affiche $Cle1 et $Rep1 dans ta boucle

et regarde où ça bug.

Posté : 24 juil. 2007, 15:56
par angebleu17
quand j'affiche $clé1 et $rep1 ça me met bien les reponses que j'ai mise avec les id question, par contre si je répond qu'a 1 question sur les 2, il m'affiche celle ou j'ai répondu (id question et id réponse) mais il n'affiche pas l'id de la 2eme question.

Posté : 24 juil. 2007, 16:00
par Ryle
Un bouton radio n'est envoyé que si l'une de ses options a été cohée, autrement la variable n'est pas définie.

Ainsi isSet($_POST['question'][$id_question]) te permettra de savoir si une réponse a été choisie pour la question $id_question. Et si tel est le cas, la valeur choisie sera disponible dans $_POST['question'][$id_question] :)

Posté : 24 juil. 2007, 16:05
par béka
a la limite, tu pourrais faire un petit javascript pour vérifier que tous tes champs radio ont bien été cliqué.

Posté : 24 juil. 2007, 16:22
par angebleu17
Merci pour la précision sur les boutons radio :wink:
Maintenant ça marche

Posté : 24 juil. 2007, 17:01
par zeus
a la limite, tu pourrais faire un petit javascript pour vérifier que tous tes champs radio ont bien été cliqué.
Attention, selon moi, le javascript ne devrait jamais être utilisé uniquement pour une question de confort. C'est à dire réaliser un pré-contrôle sans rechargement de page, mais il ne devrait jamais être utilisé comme contrôle de validité. Il est extremement facile de contourner une vérification JS ;)