Quiz - Méthodologie
Posté : 16 juin 2012, 11:12
Bonjour à tous,
Pour un petit projet je dois réaliser un quiz, mais autant le dire php et moi ça fait 2.
Explication du projet : une dizaine de question, une question par écran. Sur chaque écran l'utilisateur verra si il a bien répondu, la bonne réponse sera affichée le cas échéant et dans tous les cas une petite justification de la réponse, il passera ensuite à la question suivante. Les résultat sont stockés en BDD pour que je puisse ensuite les interpréter.
Voilà ce que j'ai commencé à faire
Jusque là ça fonctionne à peu près comme je le souhaite même si l'écriture du code ne parait bien pompeuse (notamment dans l'écriture des tests). Mais là je reste bloqué sur comment passer à la question suivante puisque je fait mes test après soumission de ma page (le plus simple est peut-être de les faire en Jquery mais la pareil je maîtrise très mal le sujet).
Bref si une bonne âme pourrait me mettre sur une piste "comment bien commencer" un tel projet.
Par avance merci
Pour un petit projet je dois réaliser un quiz, mais autant le dire php et moi ça fait 2.
Explication du projet : une dizaine de question, une question par écran. Sur chaque écran l'utilisateur verra si il a bien répondu, la bonne réponse sera affichée le cas échéant et dans tous les cas une petite justification de la réponse, il passera ensuite à la question suivante. Les résultat sont stockés en BDD pour que je puisse ensuite les interpréter.
Voilà ce que j'ai commencé à faire
Code : Tout sélectionner
<?php
include ('config.php');
$connect = mysql_connect($sql_host, $sql_user, $sql_password) or die ("Impossible de se connecter à la base de données");
mysql_select_db($sql_database, $connect) or die ("Impossible de sélectionner la base de données".$sql_database);
$valid = false;
if (isset($_POST['Poster'])) {
extract($_POST);
if (isset($_POST['question1']) &&($_POST['question1'] == "Rp3")) {
$erreur = 'Bonne réponse';
$color = 'green';
$aide1 = '<div class="aide">Explication reponse</strong>.</div>';
$valid = true;
}
elseif ((isset($_POST['question1'])) && (($_POST['question1'] == "Rp1")) || ((isset($_POST['question1'])) && ($_POST['question1'] == "Rp2")) ) {
$erreur = 'Mauvaise réponse, il fallait répondre : ';
$color = 'red';
$answer = '<strong>Réponse 3</strong>';
$aide1 = '<div class="aide">Explication reponse</strong>.</div>';
$valid = true;
}
}
if ((isset($_POST['Poster'])) && (!isset($_POST['question1']))) {
echo '<span class="red">Au moins une réponse est requise</span>';
$valid = false;
}
if (($valid = true) && (isset($_POST['question1']))) {
$sql = "INSERT INTO resultat (id,questionnb1) VALUE ('','$question1')";
mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
mysql_close();
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<title></title>
<style>
body {font-family: trebuchet MS, arial, verdana; font-size: 12px;}
.red {color: red;}
.green {color: green;}
.aide {background: red; color: white; padding: 5px;}
</style>
</head>
<body>
<form method="post" action="">
<fieldset>
<legend>Question 1 ?</legend>
<p><input type="radio" id="Rp1" value="Rp1" name="question1" <?php if (isset($question1) && ($question1 == "Rp1")) echo "checked=checked"; ?>/><label for="Rp1">Réponse 1</label></p>
<p><input type="radio" id="Rp2" value="Rp2" name="question1" <?php if (isset($question1) && ($question1 == "Rp2")) echo "checked=checked"; ?>/><label for="Rp2">Réponse 2</label></p>
<p><input type="radio" id="Rp3" value="Rp3" name="question1" <?php if (isset($question1) && ($question1 == "Rp3")) echo "checked=checked"; ?>/><label for="Rp3">Réponse 3</label></p>
<p><input type="submit" name="Poster" /></p>
<p><?php if (isset($erreur)) echo '<span class="'.$color.'">' .$erreur. ' </span>'?><?php if (isset($answer)) echo $answer; ?></p>
</fieldset>
<?php if (isset($aide1)) echo $aide1; ?>
</form>
</body>
</html>
Bref si une bonne âme pourrait me mettre sur une piste "comment bien commencer" un tel projet.
Par avance merci