Compter les points d'un quizz.

Résolu
Utilisateur anonyme -  
 Utilisateur anonyme -
Bonjour, j'ai créé un formulaire et je le traite en PHP sans base de données.
<?php
session_start();
if (isset($_POST['formquizz'])) 
{
$rep_1 = $_POST['Q1'];
$rep_2 = $_POST['Q2'];
$rep_3 = $_POST['Q3'];
$rep_4 = $_POST['Q4'];
$rep_5 = $_POST['Q5'];
$rep_6 = $_POST['Q6'];
$rep_7 = $_POST['Q7'];
$rep_8 = $_POST['Q8'];
$rep_9 = $_POST['Q9'];
$rep_10 = $_POST['Q10'];
if (!empty($rep_1) && !empty($rep_2)&& !empty($rep_3)&& !empty($rep_4)&& !empty($rep_5)&& !empty($rep_6)&& !empty($rep_7)
&& !empty($rep_8)&& !empty($rep_9)&& !empty($rep_10))
{
// Que mettre ici ??
//
//
//
//

}
else
{
$erreur="Au moins un des champs obligatoire est vide .";
}
?>

Auriez vous une fonction pour calculer les points pour obtenir une note sur 10 ??




A voir également:

3 réponses

graffx Messages postés 6506 Date d'inscription   Statut Contributeur Dernière intervention   1 975
 
deja utilise la fonction "ou" a la place de la fonction "et (&&)"

if (!empty($rep_1) && !empty($rep_2).......

En effet, avec ta facon de faire, si aucun champs n' est rempli, ca bloque, or toi ce que tu veux, c'est que SI AU MOINS UN OU PLUSIEURS CHAMPS sont vides ca bloque. Donc fonction "ou" (OR)

Ensuite renseigne toi sur la fonction SUM qui permet de faire une addition (de points dans ton cas).

La ou tu as ecrit "que mettre ici", Ben justement, si tous les champs sont remplis, tu indiques le total de points et plus si affinités.
1
AssassinTourist Messages postés 6029 Date d'inscription   Statut Contributeur Dernière intervention   1 312
 
Bonjour,

Il aurait été plus propre de faire un tableau et de ranger les post dedans (au lieu d'avoir 10 $rep_X) Comme ça on vérifié aussi en même temps si le post est empty. (if(isset...))

Il faut à un moment comparer la bonne réponse avec le résultat donné... Donc il faudra le double des variables (ou un deuxième tableau, j'insiste ;p)
0
Utilisateur anonyme
 
Bonjour, j'ai utilisé un compteur ($points++;) :
<?php session_start();// On déclare que l'on va utiliser des variables de session 
if (isset($_POST['formquizz'])) 
{
$rep_1 = $_POST['Q1'];
$rep_2 = $_POST['Q2'];
$rep_3 = $_POST['Q3'];
$rep_4 = $_POST['Q4'];
$rep_5 = $_POST['Q5'];
$rep_6 = $_POST['Q6'];
$rep_7 = $_POST['Q7'];
$rep_8 = $_POST['Q8'];
$rep_9 = $_POST['Q9'];
$rep_10 = $_POST['Q10'];
if (!empty($rep_1) && !empty($rep_2)&& !empty($rep_3)&& !empty($rep_4)&& !empty($rep_5)&& !empty($rep_6)&& !empty($rep_7)
&& !empty($rep_8)&& !empty($rep_9)&& !empty($rep_10))
{
  $points=0;
 // Question 1
 if ($rep_1 == "P2A" ) 
 {	
 $points++;
 } 
 // Question 2 
 if ($rep_2 == "P1B" ) 
 {	
 $points++;
 } 
 // Question 3 
 if ($rep_3 == "P2C" ) 
 {	
 $points++;
 } 
 // Question 4 
 if ($rep_4 == "P2D" ) 
 {	
 $points++;
 } 
 // Question 5 
 if ($rep_5 == "P3E" ) 
 {	
 $points++;
 } 
 // Question 6 
 if ($rep_6 == "P2F" ) 
 {	
 $points++;
 } 
 // Question 7 
 if ($rep_7 == "P2G" ) 
 {	
 $points++;
 } 
 // Question 8 
 if ($rep_8 == "P1H" ) 
 {	
 $points++;
 } 
 // Question 9 
 if ($rep_9 == "P2I" ) 
 {	
 $points++;
 } 
 // Question 10 
 if ($rep_10 == "P3J" ) 
 {	
 $points++;
 } 
if($points==10)
{
$code="Très bien !Vous avez $points/10 !";
}
elseif($points <=6 && $points >10)
{
$code="Bien !Vous avez $points/10 !";
}
elseif($points==5)
{
$code="Passable !Vous avez $points/10 !";
}
elseif($point <5)
{
$erreur="Mauvais !Vous avez $points/10 !";
} 
else
{
$erreur="Erreur innatendue !";
}
}
else
{
$erreur="Au moins un des champs obligatoire est vide .";
}
}
?>

Je n'ai pas encore mis OR au lieu de AND (&&)
0