Bonjour,
je suis présentement en train d'essayer de construire un quiz en php avec une bd SQL.
Ce dernier fonctionne relativement bien jusqu'à présent... le user se connecte à une session, un cookie le suit durant sa session afin de l'identifier. Il doit ensuite répondre au quiz et envoyer le formulaire. Ses réponses se rendrent à l'intérieur d'une bd que j'ai créé à cette effet avec son nom de user puisé dans le cookie. Jusque là, pas de problème. C'est après que les choses se corsent.
Maintenant que j'ai les réponses du user dans ma bd, je veux les comparer avec celles de mon admin qui lui, possède les bonnes réponses afin d'afficher 1 point par bonne réponses à mon user. Les points doivent s'ajouter dans ma bd dans un champs resultats et s'afficher à l'écran en cliquant sur un lien avec un echo ce qui fonctionne...
Par contre, présentement, peu importe ce que le user répond, il obtient toujours 5 points sur une possibilité de 5 (1 pt par bonne réponse et 5 questions). C'est comme si mon code ne faisait que tenir compte de ma boucle (while) et qu'il ne comparait pas vraiment les réponses de mes users avec mon utilisateur administrateur.
Je cherche depuis des heures afin de repérer mes erreurs mais en vain... je vous laisse mon code ici... si une âme charitable voit le bobo, ce serait gentil de m'en faire part svp...
Merci!
Code :
<?php
include("cookieverify.php");
$compteur=0;
// Connection a la base de données.
print "<br><br><br><br><br><br><br>";
$link = mysql_connect("serveur", "user", "pass")
or die ("Could not connect to mysql because ".mysql_error());
// Selection de la base de données.
mysql_select_db("nomdelabd")
or die ("Could not select database because ".mysql_error());
// Sélectionner le nom de l'utilisateur.
$check = "SELECT * FROM table where username = '".$_COOKIE["nomducookie"]."';";
$user = mysql_query($check)
or die ("Could not match data because ".mysql_error());
// Sélectionner le user administrateur car il possède les bonnes réponses.
$check2 = "SELECT * FROM table where username = 'administrateur'";
$admin = mysql_query($check2)
or die ("Could not match data because ".mysql_error());
//Comparer les résultats
$admin_array = mysql_fetch_array($admin, MYSQL_ASSOC);
$user_array = mysql_fetch_array($user, MYSQL_ASSOC);
$i=2;
while ($i<>7) {
if ($admin_array[$i] == $user_array[$i]) {
$compteur = $compteur+1;
}
$i=$i+1;
}
$update = "UPDATE table set resultats = $compteur where username = '".$_COOKIE["nomducookie"]."';";
$user = mysql_query($update);
echo "'".$_COOKIE["nomducookie"]."', vous avez accumulé $compteur point(s)."
?>