Bonjour,
J’ai réalisé un site sur l’apiculture et j’ai installé deux quizz qui fonctionnaient sans problème.
Visible à cette adresse : http://www.ruche-apiculture.org
Depuis peu des messages d’erreurs apparaissent comme ceci :
- Pour la même page :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2Notice: Use of undefined constant PHP_SELF - assumed 'PHP_SELF'- Pour une autre page :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Undefined index: result
J’ai corrigé la première ligne en ajoutant des guillemets ( ‘ et ‘ ) à PHP_SELF….
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2Notice: Undefined variable: resultat in .. line 16
Voici le code de la première page… il semblerait qu’il y ai une faute au post (result) ?
Je ne vois pas les erreurs !
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 <?php $page = basename($_SERVER['PHP_SELF']); if (!$_POST[result]) { print "<form action=\"$page\" method='post'>\n"; for ($i=0; $i<count($quizz); $i++) { print '<blockquote><span>'; print "\t".$quizz[$i][0]."\n"; print '</span><br /><br />'; for ($j=1; $j<count($quizz[$i])-2; $j++) { $quest=$quizz[$i][$j]; print "<input type='radio' name=\"$i\" value=\"$j\" /> $quest<br />\n "; } print "</blockquote><hr/>"; } print "<input type='hidden' name='result' value='voir' /><br />\n<center>"; print "<input type='submit' style='background-color:#2A5C2A' onmouseover=\"this.style.color='#fff'\" onmouseout=\"this.style.color='#000'\" onmousedown=\"this.style.color='#f90'\" value='Valider vos réponses' /></center></form><br/>\n";} else { print '<h4 align="center">Résultats du quizz</h4><br />'; $points=0; for($i=0; $i<count($quizz); $i++) { $reponse = trim($_POST[$i]); print '<blockquote><span>'; print "\t".$quizz[$i][0]."</span><br /><br />\n"; $numero_bonne=$quizz[$i][count($quizz[$i])-2]; // avant dernière valeur du tableau $bonne=$quizz[$i][$numero_bonne]; // Bonne réponse if ($reponse==$numero_bonne) { print "Votre réponse <b><i>".$bonne."</i></b> est exacte.<br />"; $points++; } else { print "La bonne réponse est <b>".$bonne."</b> mais vous "; if ($reponse=="") { print "n´avez rien répondu.<br />"; } else { print 'avez choisi la proposition" <b>'.$quizz[$i][$reponse].' "</b>.<br />'; } } $commentaire=$quizz[$i][count($quizz[$i])-1]; // dernière valeur du tableau print "<br />".$commentaire."<br />\n"; print "</blockquote><hr />\n"; } if($points==count($quizz)) { print"<br /><h4 align='center'>Félicitations vous avez tout juste !</h4>\n"; } else { print "<br /><h4 align='center'>Vous avez $points bonne"; if ($points>1) print "s"; print " réponse"; if ($points>1) print "s"; print " sur ".count($quizz)." questions.</h4>\n"; print "<p align='center'><a href='questions_abeille.php'>Réinitialiser le quizz</a></p>\n"; //Ajout d'un enregistrement pour le cpt $con = mysql_connect("SERVEUR", "LOGIN", "MTP"); $ip = $_SERVER['REMOTE_ADDR']; if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("BDD", $con); mysql_query("INSERT INTO table (nb_click, ip) VALUES ('1', '$ip')"); mysql_close($con); } } ?>
Entre Notice Undefined index et Undefined variable
Merci beaucoup pour votre savoir faire.






Répondre avec citation





je voulais juste aider, pas te vexer. Je voulais juste souligner que ce que tu faisais ne rendait en aucun cas le code plus propre. Aussi, la séparation des couches est un principe simple, seulement pas du tout expliqué parmi les nombreux tutos et livres qui circulent sur le net. Si on apprenait aux gens dès le début à bien séparer présentation du reste ça ne rendrait pas les choses plus compliquées (au contraire ! ça éviterait même pas mal d'incompréhensions)


Partager