Chekbox de 0 a multiple choix

Résolu
samir - 7 avril 2014 à 11:54
 samir - 7 avril 2014 à 17:56
Bonjour,
dans mon programme k'on je ne coche pas sur une réponse il me donne une erreur au niveau de la ligne courant comment faire pour résoudre se problème

2 réponses

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
7 avril 2014 à 12:05
Bonjour,
Sans voir ton code.... on ne pourra pas t'aider...
0
voila une partie de mon code
<li>
        English is  ...  
        
        <div>
        <input type='checkbox' name='answerone' id='answerone' value='A' />
        <label for='answeroneA'> a</label>
        </div>
        
        <div>
        <input type='checkbox' name='answerone' id='answerone' value='B' />
        <label for='answeroneB'>an</label>
        </div>
        
        <div>
        <input type='checkbox' name='answerone' id='answerone' value='C' />
        <label for='answeroneC'>the</label>
         <div>
        <input type='checkbox' name='answerone' id='answerone' value='D' />
        <label for='answeroneD'>really</label>
        </div>
         <div>
        <input type='checkbox' name='answerone' id='answerone' value='E' />
        <label for='answeroneE'>don't know</label>

        </div>
        </div>
        </li>  </br>


       // dans un fichier score.php
$answer1= $_POST['answerone'];
 $answer2= $_POST['answertwo'];

 $score = 0;

 
 
 if ($answer1 == "B"&& $answer1 == "C"){$score++;}
echo "<center><font face='Berlin Sans FB' size='8'>Your Score is <br> $score/30</font></center>";
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
7 avril 2014 à 13:57
Bonjour,

Déjà...
Soit tu utilises un tableau contenant tes checkBox (un Array). Pour ça..il faut que l'attribut NAME finisse par des CROCHETS ( [] ).
<input type='checkbox' name='answerone[]' id='A1' value='A' />

<input type='checkbox' name='answerone[]' id='B1' value='B' />


Soit... et pour ton cas je pense que ce sera plus facile à mettre en place... tu nommes chaque checkbox avec un nom différent.
Exemple:
        <div>
        <input type='checkbox' name='A1' id='A1' value='1' />
        <label for='A1'> a</label>
        </div>
        
        <div>
        <input type='checkbox' name='B1' id='B1' value='1' />
        <label for='B1'>an</label>
        </div>
		
        <div>
        <input type='checkbox' name='C1' id='C1' value='1' />
        <label for='C1'>the</label>
         <div>


Ensuite.. lorsque tu récupères des valeurs provenant de POST / GET / SESSION ... il est préférable de vérifier via ISSET si elles existent... avant de les utiliser

En partant du principe que chaque checkbox dispose d'un nom différent :
if(isset($_POST)){
	// RECUPERATION DES REPONSES
	$A = isset($_POST['A1'])?$_POST['A1']:0;
	$B = isset($_POST['B1'])?$_POST['B1']:0;
	$C = isset($_POST['C1'])?$_POST['C1']:0;
	
       // Vérification des réponses :
	if($A && $C ){
	 echo '<br> Bonne réponse !!';
	}
}

0
pour le premier cas c'est le seule changement ? et pour le deuxième j'ai pas compris la partie vérification je dois ajouté score++; a chaque bonne réponse
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
7 avril 2014 à 17:25
pour le premier cas c'est le seule changement ?
Le premier cas de ????
Le seul changement ??
- J'ai renommé tes input
- J'ai changé leur VALUE
...

et pour le deuxième j'ai pas compris la partie vérification
Ben tu en fais ce que tu veux... pour te montrer comment ça marche moi j'ai mis un ECHO ... mais toi tu y fais ce dont tu as besoin...
0
d'accord merci beaucoup
0
Rejoignez-nous