Bonjour à tous,
J'ai des pages en php qui génèrent des quizz mathématiques. 5, 10 ou 20 questions selon les pages. En fonction du numéro de la question, le message qui s'affiche est différent, les points sont comptés et affichés après la dernière question.
Ces scripts fonctionnait très bien jusque maintenant... ils restent bloqués sur "Voici la première question" en quelques sortes car les nombres sont tout de même modifiés aléatoirement
Le seul changement est le passage du serveur à une version 7 de php... du coup je me dis qu'il y a une histoire de syntaxe qui a changée mais je ne trouve pas... j'ai déjà tenté de remplacer les " par ', voir par rien entre les [].
La page : http://boudoux.notreecole.net/calcul_web/ce1_25.php
Le code :
Y'a-t-il des changements de syntaxe dans php 7 qui aurait une influence sur ce code ?
J'ai des pages en php qui génèrent des quizz mathématiques. 5, 10 ou 20 questions selon les pages. En fonction du numéro de la question, le message qui s'affiche est différent, les points sont comptés et affichés après la dernière question.
Ces scripts fonctionnait très bien jusque maintenant... ils restent bloqués sur "Voici la première question" en quelques sortes car les nombres sont tout de même modifiés aléatoirement
Le seul changement est le passage du serveur à une version 7 de php... du coup je me dis qu'il y a une histoire de syntaxe qui a changée mais je ne trouve pas... j'ai déjà tenté de remplacer les " par ', voir par rien entre les [].
La page : http://boudoux.notreecole.net/calcul_web/ce1_25.php
Le code :
<html>
<h3> 25 Moitiés de dizaines entières</h3>
<?php
session_start();
if (!isset($_SESSION["number"]))
{
$_SESSION["number"] = 0;
$_SESSION["answer"] = 0;
$_SESSION["correct"] = 0;
$_SESSION["question"] = "";
}
$total_number = 10;
$number = $_SESSION["number"];
$answer = $_SESSION["answer"];
$correct = $_SESSION["correct"];
$question = $_SESSION["question"];
if ($number == 0)
{
print <<<FIRST
<p> Tu vas répondre à $total_number questions dans ce quiz. <br /><br/>
Voici la première question : <br /><br />
</p>
FIRST;
}
if ($number > 0)
{
if ($_POST["answer"] == $answer)
{
$correct++;
$_SESSION["correct"] = $correct;
print <<<CORRECT
Bonne réponse : $question $answer. <br /><br />
CORRECT;
}
else
{
print <<<WRONG
Attention, tu as fait une erreur : $question $answer.
<br /><br />
WRONG;
}
}
if ($number >= $total_number)
{
print <<<FINAL_SCORE
<h2>Au total, tu as $correct bonnes réponses sur $total_number. <br /><br />
Tu peux continuer à t'entraîner... <br /><br /></h2>
FINAL_SCORE;
session_destroy();
}
else
{
$number++;
$_SESSION["number"] = $number;
$x = rand(1, 10)*10;
$y = $x/2;
$question = "La moitié de " . $x . " est : " ;
$answer = $y;
$_SESSION["question"] = $question;
$_SESSION["answer"] = $answer;
$script = $_SERVER['PHP_SELF'];
print <<<FORM
<form method = "post" action = $script>
$question
<input type = "text" name = "answer" value = "" size = "5" autofocus />
<input type = "submit" value = "Vérifier" />
</form>
FORM;
}
print <<<BOTTOM
</body>
</html>
BOTTOM;
?>
Y'a-t-il des changements de syntaxe dans php 7 qui aurait une influence sur ce code ?