<?php
/**
 * Exemple de traitement des réponses d'un quiz 
 * Créé par Olivier Clavel le 17/03/2000        
 * Olivier.Clavel@laposte.net                
 * Révisé par Olivier Clavel le 29/05/2001      
 * Révisé par Olivier Clavel le 16/06/2003 
 * Révisé par .... le ../../.. 
 */




/**
 * servez vous de ce fichier comme modèle
 * et modifiez le en fonction du quiz que vous avez créé.

 * Modifiez les conditions "if" pour les adapter à votre quiz et rajoutez en
 * pour les questions que vous avez crées. Si vous avez ajouté de nouvelles
 * variables dans votre formulaire, pensez à les récupérer dans les $_POST
 * avant de les utiliser.
 *
 * pensez à définir les bonnes réponses pour chaque question
 */



// Première étape: Récupération des variables
// en provenance du formulaire.

$name = $_POST['name'];

if (isset($_POST['first_time'])) {
  $first_time = TRUE;
} else {
  $first_time = FALSE;
}

$question1 = $_POST['question1'];
$question2 = $_POST['question2'];
$question3 = $_POST['question3'];
$question4 = $_POST['question4'];


// On commence par ecrire l'entête du fichier HTML
?>

<html>
  <head>
    <title>Résultat du quiz HTML</title>
  </head>

  <body>


<?php
// Personalisation du résultat avec le pseudo de la personne
echo "<div align=\"center\"><h1>Résultat du quiz pour $name</h1></div>";
echo "<hr>";

// Le sujet a-t-il coché la case "première fois" ?

// Deux cas se présentent :
// - soit la case est cochée et la variable $first_time existe,
// - soit la case n'est pas cochée et la variable $first_time n'existe pas.
// Il faut donc traiter ces deux cas

if ($first_time) {
  echo "<p>Vous venez pour la première fois</p>\n";
} else {
  echo "<p>Vous venez pour la deuxième fois ou plus</p>\n";
}
// "\n" => "new line". Il permet de faire un echo
// à la ligne suivante dans le code HTML
// (sinon tout et écrit sur la même ligne dans le fichier HTML)


/**
 * Calcul du score
 */

// Pour chaque question, il faut :
// - regarder si la réponse fournie est la bonne.
// - si la réponse est bonne, on ajoute 1 au score.


// définition du score maximum
$max_score = 4;

// définition des bonnes réponses
$correct1 = 2;
$correct2 = 1;
$correct3 = 3;
$correct4 = 3;

// On cré une variable $score qu'on initialise à 0
$score = 0;

// Puis on fait le test pour chaque question

// ATTENTION : une erreur classique de programmation
// est d'utiliser l'opérateur d'assignation (=)
// au lieu de l'opérateur de comparaison (==) dans un "if"

if ($question1 == $correct1) {
  $score += 1;
  // cette dernière ligne est exactement équivalente
  // à "$score = $score + 1;" ou à "$score++;"
}

// Et on recommence la même chose pour chaque question

if ($question2 == $correct2) {
  $score += 1;
}

if ($question3 == $correct3) {
  $score += 1;
}

if ($question4 == $correct4) {
  $score += 1;
}

// on peut maintenant donner le score au sujet

// si le score et de 0 ou de 1 on affiche "réponse juste"
// s'il est supérieur, on affiche "réponseS justeS"
if ($score <= 1) {
  echo "<p>Vous avez $score réponse juste sur $max_score</p>\n";
} else {
  echo "<p>Vous avez $score réponses justes sur $max_score</p>\n";
}

// on donne au sujet son niveau en fonction du score
// 0-1 => très faible.
// 2-3 => bon.
// 4 => excellent.

if ($score <= 1) {
  echo "<p>Vous avez un niveau très faible en HTML</p>\n";
} elseif ($score > 1 AND $score < 4) {
  echo "<p>Vous avez un bon niveau en HTML</p>\n";
} elseif ($score == 4) {
  echo "<p>Vous avez un excellent niveau en HTML</p>\n";
}

echo "Merci de votre participation $name\n";

?>
<!-- lien de retour vers le quiz -->
<hr>
<a href="simple-quiz2.html">Revenir au quiz</a>
<hr>
<!-- lien vers la source de la page -->
<a href="<?php echo str_replace(".php", ".phps", $_SERVER['PHP_SELF']) ?>">Voir la source de cette page</a>
</body>
</html>




  


