QUIZZ - LES ÉNIGMES DE ONCLE HUB

fra1ft Messages postés 35 Date d'inscription mercredi 7 mai 2003 Statut Membre Dernière intervention 24 septembre 2012 - 7 mars 2011 à 20:43
fra1ft Messages postés 35 Date d'inscription mercredi 7 mai 2003 Statut Membre Dernière intervention 24 septembre 2012 - 7 mars 2011 à 21:44
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/52893-quizz-les-enigmes-de-oncle-hub

fra1ft Messages postés 35 Date d'inscription mercredi 7 mai 2003 Statut Membre Dernière intervention 24 septembre 2012
7 mars 2011 à 21:44
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...
fra1ft Messages postés 35 Date d'inscription mercredi 7 mai 2003 Statut Membre Dernière intervention 24 septembre 2012
7 mars 2011 à 21:09
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.
fra1ft Messages postés 35 Date d'inscription mercredi 7 mai 2003 Statut Membre Dernière intervention 24 septembre 2012
7 mars 2011 à 20:43
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é.
Rejoignez-nous