Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/12/2007, 16h59   #1
Invité de passage
 
Inscription : décembre 2007
Messages : 1
Détails du profil
Informations personnelles :
Âge : 25

Informations forums :
Inscription : décembre 2007
Messages : 1
Points : 0
Points : 0
Par défaut traitement checkbox switch ?

Bonjour,
je dois réaliser un QCM grâge à php, avec les boutons radio tout se passe bien, en revanche je n'arrive pas à traiter mes checkbox, j'ai essayé avec l'instruction switch mais il ne traite pas les cas particuliers relatifs aux cases cochées, il traite comme si l'utilisateur avait coché tous les choix possibles, je débute et je pense que mon erreur est toute bête mais ca fait des jours que je suis dessus, que je parcours le web en vain ...

Mon code html :

Code :
1
2
3
4
5
6
7
8
<LI><FONT color="purple">Parmi ces 4 parties du sabot, laquelle/lesquelles ne se trouvent pas SOUS le sabot ?</FONT>
  <br></br>
 
     <input type="checkbox" name="choice8[]" value="0"> La mamelle<br>
     <input type="checkbox" name="choice8[]" value="1"> La pince<br>
     <input type="checkbox" name="choice8[]" value="2"> La sole<br>
     <input type="checkbox" name="choice8[]" value="3"> La fourchette<br> 
  <br></br>

Et mon code php pour traiter les réponses :
avec switch :


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
if (isset($_POST['choice8']))
	echo ("<p><font color='purple'>Vous avez répondu à la 8ème question :</font><br>"); 
	for ($i=0; $i<sizeof($choice8);$i++)
 
switch ($i) {
case "0":
	echo "La mamelle : c'est une des bonnes réponses, elle vous apporte des points<br>";
	$score +=1.5;
case "1":
	echo "La pince : c'est une des bonnes réponses, elle vous apporte des points<br>";
	$score +=1.5;
case "2":
	echo "La sole : c'est une mauvaise réponse, elle se situe sous le sabot, vous perdez 1 point<br>";
	$score -=1;
case "3":
	echo "La fourchette : c'est une mauvaise réponse, elle se situe sous le sabot, vous perdez 1 point<br>";
	$score -=1;
	break;
default:
    echo "vous n'avez rien répondu, vous ne perdez ni ne gagniez de points<br>";
}
J'ai aussi tenté avec une instruction IF : dans ce cas là il n'affiche carrément plus aucune réponse !

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
echo ("<p><font color='purple'>Vous avez répondu à la 8ème question :</font><br>"); 
 
if ($choice8 == "La mamelle")
{ 
	$score +=1.5;
	echo "<font color='green'>La mamelle : c'est une bonne réponse, elle vous apporte des points<br>";
} 
elseif ($choice8 == "La pince")
{ 
	$score +=1.5;
	echo "<font color='green'>La pince : c'est une bonne réponse, elle vous apporte des points<br>";
}
elseif ($choice8 == "La sole")
{ 
	$score -=0.5;
	echo "<font color='green'>La sole : c'est une mauvaise réponse, elle vous fait perdre des points<br>";
}
elseif ($choice8 == "La fourchette")
{ 
	$score -=0.5;
	echo "<font color='green'>La fourchette : c'est une mauvaise réponse, elle vous fait perdre des points<br>";
}
margaux74 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/12/2007, 17h13   #2
Membre éclairé
 
Inscription : juin 2007
Messages : 342
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 342
Points : 398
Points : 398
Code :
1
2
3
4
5
 <input type="checkbox" name="choice8" value="0" checked /> La mamelle<br>
     <input type="checkbox" name="choice8" value="1" /> La pince<br>
     <input type="checkbox" name="choice8" value="2" /> La sole<br>
     <input type="checkbox" name="choice8" value="3" /> La fourchette<br> 
  <br></br>
Code :
1
2
3
4
5
6
7
8
9
10
<?php
 
switch($_POST['choice8']){
case 0:
//instruction;
break;
case 1:
///etc
}
?>
voila voila, de plus <br> est faux il faut ecrire <br/> mais la c'est du html
ascito est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h48.


 
 
 
 
Partenaires

Hébergement Web