Quizz - les énigmes de oncle hub

Soyez le premier à donner votre avis sur cette source.

Vue 6 164 fois - Téléchargée 839 fois

Description

Il s'agit d'un petit jeu type quizz reprenant les fameuses énigmes de Oncle Hub dont les questions et réponses sont stockées sur une base de donnée MYSQL.
Compatible PHP4/5.
Il sera demandé un peu d'indulgence car c'est mon premier source complet de A à Z et reprenant uniquement les bases en PHP et MYSQL.
Bien sûr, je vois venir les nolifes du clavier genre "Oh mais faut pas faire comme ci, vaut mieux faire comme ça, c'est nul, nanani...), tout n'est pas parfait et ne sera jamais parfait si bien que ces sources demanderont sûrement des améliorations, des optimisations.
Pour ceux qui auraient envie d'apporter des modifications, des améliorations, ne m'oubliez pas, je peux en apprendre d'avantage! Faites moi part de vos travaux! ;)
Composition:
  • page "oncle hub.php", page principale affichant les questions et réponses en trois choix, ainsi que le résultat primaire après validation de chaque réponse.
  • page "resultats.php", page incluse dans un endroit précis de "oncle hub.php" pour afficher un tableau des résultats par pseudo et classés par valeur globale de résultat. Peut être appelée individuellement.
  • page "connexion.inc", page d'inclusion contenant les paramètres de connexion à la base de données MYSQL (à configurer).
  • fichier oncle_hub.sql, table MYSQL à importer sous, par exemple, PHPMyAdmin, contenant les questions et réponses.
  • fichier oncle_hub_rep.sql, table MYSQL à importer sous, par exemple, PHPMyAdmin, devant contenir les données des différents joueurs (pseudo, bonne/mauvaise réponse sous forme de 1 ou 0)

Conclusion :


Amusez vous bien.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
35
Date d'inscription
mercredi 7 mai 2003
Statut
Membre
Dernière intervention
24 septembre 2012

Ligne 132, à la phrase
$litreq = "SELECT * FROM oncle_hub_rep WHERE gt = '$postgt'";
, ajouter
 && question = '$question'
après '$postgt'.
Ligne 159, pour
if ($lit['gt']==$postgt && $total[0]==18){
remplacer par
if ($lit['gt']==$postgt && $donnerep==$bonnerep){
.
Après celà, normalement il ne devrait plus y avoir de bug si on quitte avant de finir le quizz puis on reprend plus tard avec le même pseudo, si on revalide la 1ère question à laquelle on a déjà répondu antérieurement, la page retourne le "déjà joué" ainsi, lorsqu'on clique sur le bouton retour, la ou les questions déjà répondues se retrouvent avec un "Déjà répondu!" à la place du bouton "Valider".
Voilà toussa...
Messages postés
35
Date d'inscription
mercredi 7 mai 2003
Statut
Membre
Dernière intervention
24 septembre 2012

Je corrige mon précédent commentaire, en fait aucune erreur dans le source, juste la base de donnée: les deux tables comportent une clé primaire que j'ai mise en TINYINT.
Or la taille allouée à un TINYINT n'est pas plus grande qu'un octet, et ce, quelque soit le nombre que vous mettez entre parenthèses pour le type TINYINT. Donc les nombres supportés par les entiers de type TINYINT ne peuvent pas dépasser 127 ou 255, selon que ce TINYINT soit signé ou non-signé.
L'auto incrémentation de MySQL ne pouvant pas aller au delà de 127 (ou 255) pour ces petits entiers, votre base répond donc avec cette erreur.

Si vous devez choisir un type numérique pour une clé primaire, choisissez de préférence le type INT qui est capable d'accueillir des entiers dont la capacité maximale est de l'ordre de 2 à 4 milliards.
Messages postés
35
Date d'inscription
mercredi 7 mai 2003
Statut
Membre
Dernière intervention
24 septembre 2012

Je viens de m'apercevoir d'un bug dans "oncle hub.php", si on reprend un pseudo déjà enregistré dans la table oncle_hub_rep et qu'on tente de rejouer, une fois validé, la page retourne une erreur sql duplicate entry. Une correction peut être apportée à partir de la ligne 156 du source. Je bûche dessus et je reposterai la correction en temps et en heure.
Désolé.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.