Chekbox de 0 a multiple choix [Résolu]

Signaler
-
 samir -
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

Messages postés
32986
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 juin 2021
351
Bonjour,
Sans voir ton code.... on ne pourra pas t'aider...
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>";
Messages postés
32986
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 juin 2021
351
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 !!';
	}
}

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
Messages postés
32986
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 juin 2021
351
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...
d'accord merci beaucoup