Bonjour,

Dans le cadre de mon projet de fin d'étude et donc de ma soutenance, j'ai besoin que mon projet soit opérationnel sauf que la lorsque je clique sur passer à la question suivante j'ai 2 soucis (pour le moment ^^). La page refresh sur la question 1 donc il me dit qu'une réponse est enregistré et je suis bloqué.
Je vous joins le code :
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
case 'enregistrer_reponse_QUIZZ' :
	$idQuizz = $_POST['idQUIZZ'];	
	$idQcm = $_POST['idQCM'];	
	$idQuestion = $_POST['idQuestion'];	
	$numQuestion = $_POST['numQuestion'];
	// $IdUtilisateur = $_POST['IdUtilisateur'];
	$req_reponses = "	SELECT 	t_reponses.IdReponse IdReponse, 
		t_reponses.NumeroReponse NumeroReponse, 
		t_reponses.DefautReponse DefautReponse
		FROM 	db_quizz.tb_reponses t_reponses
		WHERE 	t_reponses.IdQuestion = '".$idQuestion."'
		ORDER 
		BY 		t_reponses.NumeroReponse ASC";
	// echo $req_reponses;				
	$res_reponses = mysql_query($req_reponses);									
	$ReponseCheck = array();
	$ReponseDefaut = array();
	while($row_reponses = mysql_fetch_array($res_reponses)){
		$ReponseCheck[$row_reponses['IdReponse']] = isset($_POST['RESPONSE_CHECKBOX_'.$row_reponses['NumeroReponse'].'']) ? 1 : 0;
		$ReponseDefaut[$row_reponses['IdReponse']] = $row_reponses['DefautReponse'];					
	}
	$NbCheck = array_sum($ReponseCheck);
	if($NbCheck >= 1){
		$sel_responses_user = " SELECT 	DISTINCT(t_reponses_user.NumeroQuestion) NumeroQuestion
			FROM 	db_quizz.tb_reponsesusers t_reponses_user
			WHERE 	t_reponses_user.IdQCM = '".$idQcm."'
			ORDER BY 		t_reponses_user.NumeroQuestion DESC 
			LIMIT  1 ";
		// echo $sel_responses_user;
		$res_responses_user = mysql_query($sel_responses_user);
		$row_responses_user = mysql_fetch_array($res_responses_user);
		if($row_responses_user['NumeroQuestion'] < $numQuestion){
			$resultatReponse = 1;
			$nbTotalReponse = 0;
			foreach($ReponseCheck AS $IdReponse => $Reponse){
				// Répondu 1 => Attendu 1 = 1
				$Resultat = ($Reponse == $ReponseDefaut[$IdReponse]) && ($ReponseDefaut[$IdReponse] == 1) ?  1 : 0;
				// Répondu 0 => Attendu 1 = -1
				$Resultat = ($Reponse != $ReponseDefaut[$IdReponse]) && ($ReponseDefaut[$IdReponse] == 1) ? -1 : $Resultat;							
				// Répondu 1 => Attendu 0 = -1
				$Resultat = ($Reponse != $ReponseDefaut[$IdReponse]) && ($Reponse == 1) ? -1 : $Resultat;							
				// echo $Reponse." >> ".$ReponseDefaut[$IdReponse]." == ".$Resultat."<br>";
				if($Resultat == -1) { $resultatReponse = 0;}						
				$ins_response = "	INSERT 
					INTO 	db_quizz.tb_reponsesusers(
						IdQuizz, 
						IdQCM, 
						IdQuestion, 
						IdReponse, 
						IdUtilisateur, 
						NumeroQuestion, 
						Reponse, 
						Defaut, 
						Resultat
					) 
					VALUES (
						'".$idQuizz."', 
						'".$idQcm."', 
						'".$idQuestion."',  
						'".$IdReponse."', 
						'".$IdUtilisateur."', 
						'".$numQuestion."', 
						'".$Reponse."', 
						'".$ReponseDefaut[$IdReponse]."', 
						'".$Resultat."'
					) ";
					// echo $ins_response;
					if(mysql_query($ins_response)){
						$nbTotalReponse+=1;
					}
				}
				if($nbTotalReponse == mysql_num_rows($res_reponses)){
					$etatQCM = 3;
					$ins_note = " 	INSERT INTO 	db_quizz.tb_notes(
						IdQuizz, 
						IdQCM, 
						IdQuestion, 
						IdUtilisateur, 
						NumeroQuestion, 
						Note
					)
					VALUES (
						'".$idQuizz."', 
						'".$idQcm."', 
						'".$idQuestion."',
						'".$IdUtilisateur."', 
						'".$numQuestion."', 
						'".$resultatReponse."'
					) ";
					// echo $ins_note;
					if(mysql_query($ins_note)){
						$etatQCM = 3;
						$up_quizz = " 	UPDATE 	db_quizz.tb_quizzusers t_quizzusers
							SET 	t_quizz_user.NumQuestionQCM = '".$numQuestion."',  
								t_quizz_user.EtatQCM = '".$etatQCM."' 
							WHERE 	t_quizz_user.IdQCM = '".$idQcm."' ";
						// echo $up_quizz;
						mysql_query($up_quizz);
					}
				}
			}
			else {						
				$_SESSION['message'] = 'Question '.$row_responses_user['NumeroQuestion'].' est déjà enregistré';
			}
		}
		else {
			$_SESSION['message'] = 'Merci de choisir au minimun une réponse possible';
		}
		include 'vues/dashboard/restart_quizz.php';
	break;
l'appel de la fonction :
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
<?php
$req_quizz = "SELECT    t_quizz.IdQuizz IdQUIZZ, 
	t_quizz.TitreQuizz TitreQuizz, 
	t_quizz.DescriptionQuizz DescriptionQuizz,
	t_quizz_user.IdQCM IdQCM
	FROM 	db_quizz.tb_quizz t_quizz,
		db_quizz.tb_quizzusers t_quizz_user
	WHERE 	t_quizz.IdQuizz = t_quizz_user.IdQuizz
	AND t_quizz_user.IdQCM = '".$idQcm."'";
// echo $req_quizz;	
$sql_quizz = mysql_query($req_quizz);						
$row_quizz = mysql_fetch_array($sql_quizz);
echo '<div class="well well-small">';
echo '<h2>QUIZZ - '.$row_quizz['TitreQuizz'].'</h2>';
echo '</div>';	
$req_avancement = " SELECT 	t_quizz.NbQuestionQuizz NbQuestionQuizz,
	t_quizz.CorrigerQuizz CorrigerQuizz,
	t_quizz_user.DateDebutQCM DateDebutQCM,
	t_quizz_user.DateFinQCM DateFinQCM,
	t_quizz_user.NumQuestionQCM NumQuestionQCM,
	t_quizz_user.EtatQCM EtatQCM
	FROM 	db_quizz.tb_quizz t_quizz,
	db_quizz.tb_quizzusers t_quizz_user
	WHERE 	t_quizz.IdQuizz = t_quizz_user.IdQuizz AND 
	t_quizz_user.IdQCM = '".$row_quizz['IdQCM']."' ";
// echo $req_avancement;
$sql_avancement =  mysql_query($req_avancement);
$row_avancement = mysql_fetch_array($sql_avancement);
if($row_avancement['EtatQCM'] <= 3){
	if(mysql_num_rows($sql_avancement) == 0){
		echo '<div class="alert alert-error">';
		echo '<h3>Aucun QUIZZ</h3>';
		echo '</div>';
	}
	else{
		echo '<div class="well well-mini">';
		echo '<h3>Etat d\'avancement du QUIZZ</h3>';						
		echo '<table class="table">';
		echo '<tr>';
		echo '<th>Date de<br>début</th>';
		echo '<th>Date de<br>fin</th>';
		echo '<th>Nombre de<br>questions répondues</th>';
		echo '<th>Etat</th>';
		echo '<th>Affichage<br>du corrigé</th>';								
		echo '</tr>';
$trClassColor = in_array($row_avancement['EtatQCM'], array(2, 3)) ? 'warning' : 'success' ;
echo '<tr class="'.$trClassColor.'">';
echo '<td>'.$row_avancement['DateDebutQCM'].'</td>';
echo '<td>'.$row_avancement['DateFinQCM'].'</td>';
echo '<td>'.$row_avancement['NumQuestionQCM'].'/'.$row_avancement['NbQuestionQuizz'].'</td>';
echo '<td>'.$liste_etats_qcm[$row_avancement['EtatQCM']]['Description'].'</td>';
$typeBtn = $row_avancement['CorrigerQuizz'] == 1 ? "label-success" : "label-important";
echo '<td><span class="label label-mini '.$typeBtn.'" style="width: 20px;">'.($row_avancement['CorrigerQuizz'] == 1 ? 'Oui' : 'Non').'</span>';
echo '</tr>';
echo '</table>';							
echo '</div>';
}
$numQuestion = ($row_avancement['NumQuestionQCM']+1);
$limiteNbQuestions = $row_avancement['NbQuestionQuizz'];
if(isset($_SESSION['message']) && $_SESSION['message']!='')	{
	echo '<div class="alert alert-error">';
	echo '<h4>Attention!</h4>';
		echo $_SESSION['message'];
		echo '</div>';
}
		if(($numQuestion <= $limiteNbQuestions))
	{
		echo '<form action="index.php" method="POST">';
		echo '<div class="well" style="background-color:#DFF0D8;">';
 
		$sel_question = " 	SELECT 	t_questions.IdQuestion IdQuestion,
									t_questions.NumeroQuestion NumeroQuestion, 
									t_questions.DescriptionQuestion DescriptionQuestion
		
							FROM 	db_quizz.tb_questions t_questions
							
							WHERE 	t_questions.IdQuizz = '".$row_quizz['IdQUIZZ']."' AND 
									t_questions.NumeroQuestion = '".$numQuestion."' ";
		// echo $sel_question;				
		$res_question = mysql_query($sel_question);		
		$row_questions = mysql_fetch_array($res_question);
 
		echo '<h4>Q '.$row_questions['NumeroQuestion'].' - <i>'.$row_questions['DescriptionQuestion'].'</i></h4>';
		echo '<br>';
 
		$req_reponses = "	SELECT 	t_reponses.NumeroReponse NumeroReponse, 
									t_reponses.DescriptionReponse DescriptionReponse
		
							FROM 	db_quizz.tb_reponses t_reponses
							
							WHERE 	t_reponses.IdQuestion = '".$row_questions['IdQuestion']."'
							
							ORDER 
							BY 		t_reponses.NumeroReponse ASC ";
		// echo $req_reponses;				
		$res_reponses = mysql_query($req_reponses);									
 
		while($row_reponses = mysql_fetch_array($res_reponses))
		{
			echo '<blockquote>';
			echo '<label class="checkbox">';
			echo '<input type="checkbox" name="RESPONSE_CHECKBOX_'.$row_reponses['NumeroReponse'].'">';
			echo '<h5>R '.$row_questions['NumeroQuestion'].'.'.$row_reponses['NumeroReponse'].' - <i>'.$row_reponses['DescriptionReponse'].'</i></h5>';
			echo '</label>';										
			echo '</blockquote>';							
		}							
 
		echo '<input type="hidden" name="idQUIZZ" value="'.$row_quizz['IdQUIZZ'].'"/>';
		echo '<input type="hidden" name="idQCM" value="'.$row_quizz['IdQCM'].'"/>';
		echo '<input type="hidden" name="idQuestion" value="'.$row_questions['IdQuestion'].'"/>';
		echo '<input type="hidden" name="numQuestion" value="'.$row_questions['NumeroQuestion'].'"/>';
 
		echo '<input type="hidden" name="VUE" value="'.$vues.'" />';
		echo '<input type="hidden" name="ACTION" value="enregistrer_reponse_QUIZZ" />';
		echo '<input type="submit" class="btn btn-success" value="Passer à la question suivante"/>';
 
		echo '</form>';
		echo '</div>';
	}
	else
	{					
		echo '<form action="index.php" method="POST">';
		echo '<div class="alert alert-success">';
 
		echo '<input type="hidden" name="idQUIZZ" value="'.$row_quizz['IdQUIZZ'].'"/>';
		echo '<input type="hidden" name="idQCM" value="'.$row_quizz['IdQCM'].'"/>';
 
		echo '<input type="hidden" name="VUE" value="'.$vues.'" />';
		echo '<input type="hidden" name="ACTION" value="finaliser_reponse_QUIZZ" />';
		echo '<input type="submit" class="btn btn-success" value="Terminer"/>';
 
		echo '</div>';
		echo '</form>';						
	}
}>

De plus il me dit que la variable IdUtilisateur n'est pas défini et je ne comprends pas pourquoi , j'ai mis en commentaire ma déclaration que j'avais rajouté et qui ne me semblait pas nécessaire mais quand je rajoute ma déclaration il bloque de plus belle.

Merci d'avance.