bonjour à tous
je reviens vers vous , pour un problème avec la fonction "array_sum" l'objectif est qu'elle me donne la somme total des réponses juste , elle le fait pour "chaque question" , mais pas pour "l'ensemble des question".

j'ai ajouter la mention "// élément pour le calcul" ce sont visiblement a ces endroit que sa cloche.
merci pour votre aide.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
/************************************************/
$qcm = array(
        '1'=>array (
            'libelle'=>'je vois grace à ',
            'img'=>null, 
            'choix'=>array(
                'mes yeux.'=>true,
                'ma tete.'=>true,
                'mon nez.'=>false)
         ), 
	'2'=>array (
            'libelle'=>'je sens grace à . ',
            'img'=>Null, 
            'choix'=>array(
                'mon bras.'=>false,
                'mon nez.'=>true,
                'mon coude.'=>false)
        ), 
	'3'=>array (
            'libelle'=>'high kick dans la gueule grace à',
            'img'=>Null, 
            'choix'=>array(
                'mon pied.'=>true,
                'mon genoux.'=>false,
                'mon orteil.'=>false)
        )
      );
 
/******************************************************/
 
echo "<form action='new.php' method='post'>"; 
// $num= '1','2','3'.
//$question='libelle','img','choix'.
foreach($qcm as $num=>$question){
	echo '<h3>'.'QUESTION '.$num.'</h3>'.$question['img'].'<br />'.' -'.$question['libelle'].' :<br />';
 //$reponse='mes yeux','ma tete','mon nez' (pour la question 1)
//$choix='true','false','false'
    foreach($question['choix'] as $reponse=>$choix){
        echo '<input type="checkbox" name="reponse_box['.$num.'][]"  value="'.$reponse.'">'.$reponse.'<br />';
    }
    echo '<p />'; 
} 
echo'<input type="RESET" value="Effacer" />';
echo'<input type="SUBMIT" name="btn_valid" value="Valider" />';
echo'</form>';
/***********************************************************/
if(isset($_POST['reponse_box'])){
    print_r ($_POST['reponse_box']);
    foreach ($qcm as $num => $question){
        echo'<p />QUESTION '.$num.' - '.$question['libelle'].' : <br />';
        echo '--->vous avez repondu : ';
		if(isset($_POST['reponse_box'][$num])){ 
			$reponse = implode(",", $_POST['reponse_box'][$num]); 
			echo $reponse;
			$right = 0;
			$rep = array();// élément pour le calcul
			foreach ($_POST['reponse_box'][$num] as $answer){
				if (!empty($question['choix'][$answer])){
				$right++;
				}
		}
			if ($right==true){
				 echo'<br />une ou plusieurs reponses sont justes';
			} 
			else {
				echo'<br />mauvaise réponse';	
			}
			$rep[] = count(array_filter($_POST['reponse_box'][$num]));// élément pour le calcul		
	} 
						else {
							echo'<br />Aucune reponse de votre part';
						} 
		echo'<p />nombre de reponse juste pour cette question : ';
		echo array_sum($rep);
    }	
		echo'<p />****************************nombre total de reponse juste ';
		echo array_sum($rep); // élément pour le calcul
}