Mysql probleme de calcul
Résolu
Xidy
Messages postés
82
Date d'inscription
Statut
Membre
Dernière intervention
-
Xidy Messages postés 82 Date d'inscription Statut Membre Dernière intervention -
Xidy Messages postés 82 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai actuellement un petit site ou le but est de répondre a des questions pour augmenter son score^^ Seulement voila dans certains cas (heureusement très rare) les points au lieu d'augmenter diminuent! (Hors il est impossible de perdre des points normalement). J'ai eu le cas pour 2 personnes qui avaient un ordinateur plus lent (est-ce lié???). Est-il possible que ce ne soit pas dans mon code mais du coté de l'hébergeur(gratuit) et de sa gestion Mysql?
le code:
J'ai actuellement un petit site ou le but est de répondre a des questions pour augmenter son score^^ Seulement voila dans certains cas (heureusement très rare) les points au lieu d'augmenter diminuent! (Hors il est impossible de perdre des points normalement). J'ai eu le cas pour 2 personnes qui avaient un ordinateur plus lent (est-ce lié???). Est-il possible que ce ne soit pas dans mon code mais du coté de l'hébergeur(gratuit) et de sa gestion Mysql?
le code:
<?php if(isset($_POST['rep1'],$_POST['rep2'],$_POST['rep3'],$_POST['rep4'],$_POST['rep5'],$_POST['rep6'],$_POST['rep7'],$_POST['rep8'],$_POST['rep9'],$_POST['rep10'])) { $res=$_POST['rep1']+$_POST['rep2']+$_POST['rep3']+$_POST['rep4']+$_POST['rep5']+$_POST['rep6']+$_POST['rep7']+$_POST['rep8']+$_POST['rep9']+$_POST['rep10']; //base de donnees $verif = mysql_query("SELECT pseudomis FROM testfais WHERE pseudomis='$pseudo' AND test='jeuxpc'"); $donnees = mysql_fetch_array($verif); if(!empty($donnees['pseudomis'])) echo "Vous avez deja fais ce test en consequence le score n'est plus augmente mais vous pouvez toujours refaire chaque test!"; else { echo "Score pris en compte!!!"; if($res<0) $res*=-1; $score=$_SESSION['score']+$res; mysql_query("UPDATE infos SET score='$score' WHERE pseudo='$pseudo'"); mysql_query("INSERT INTO testfais VALUES('','$pseudo','jeuxpc')"); } //fin base de donnees echo "<h3>Bienvenue!</h3>"; echo "<h3>Tu as obtenu $res/50!!!</h3>"; $long=($res/5)*10; echo "<table border=\"12\">"; echo "<tr><td width=\"$long\" height=15 bgcolor=\"#00FF00\"</td></tr>"; echo "</table>"; echo "<table border=\"12\">"; echo "<tr><td width=\"100\" height=15 bgcolor=\"#00FF00\"</td></tr>"; echo "</table>"; echo "</br></br></br>"; if($res<25) { echo "<h2>"; echo "<p>Bof bof jamais entendu </p>"; echo "<p>Tout ceci n'est pas ton fort! Ton score s'en ressens! Mais au prochain test tu pourras mieux faire!</p>"; echo "<p>Il est tant de prendre les devants tu n'arriveras pas a gagner comme ca!</p>"; echo "</h2>"; } if($res>=25 && $res<42) { echo "<h2>"; echo "<p>Pas mal!</p>"; echo "<p>Tu a les atouts qu'il faut pour gagner, n'hesite pas a t'en servir ce serais du gachis sinon!</p>"; echo "<p>Pense a t'informer de l'actu concernant les sujets suivants!</p>"; echo "</h2>"; } if($res>=42) { echo "<h2>"; echo "<p>Le supra connaisseur</p>"; echo "<p>Bravo si tout mes eleves etaient comme toi!</p>"; echo "<p>La chose importante pour toi c'est de bien garder ton rythme!</p>"; echo "</h2>"; } } else { echo "<h2> Vous n'avez pas repondu a toutes les questions!!! </h2>"; include("formujeu.inc.php"); } ?>
A voir également:
- Mysql probleme de calcul
- Calcul moyenne excel - Guide
- Calcul km marche à pied gratuit - Télécharger - Sport
- Mysql community server - Télécharger - Bases de données
- Calcul charpente bois gratuit - Télécharger - Architecture & Déco
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
2 réponses
Je vais prendre la 2eme solution en effet c'est bête ce que j'ai fait pas besoin de session ici pour le score...
En fait pour pouvoir faire les tests on se connecte et la session est créée donc normalement le session score existe mais bon c'est mieux codé ac cette solution un grand merci!
En fait pour pouvoir faire les tests on se connecte et la session est créée donc normalement le session score existe mais bon c'est mieux codé ac cette solution un grand merci!
Bonjour,
La seule chose que j'ai constaté dans ton code est le suivant
Tu ne vérifies pas que la variable 'score' existe dans ta session, donc si elle est nulle tu vais mettre à jour ta table avec la valeur du score actuel et non la somme du score précédent et du score actuel. Tu peux soit vérifier que la variable 'score' existe dans ta session avec le code suivant
A plus
La seule chose que j'ai constaté dans ton code est le suivant
$score=$_SESSION['score']+$res; mysql_query("UPDATE infos SET score='$score' WHERE pseudo='$pseudo'");
Tu ne vérifies pas que la variable 'score' existe dans ta session, donc si elle est nulle tu vais mettre à jour ta table avec la valeur du score actuel et non la somme du score précédent et du score actuel. Tu peux soit vérifier que la variable 'score' existe dans ta session avec le code suivant
if(isset($_SESSION['score']))ou bien mettre à jour ta table avec l'instruction suivante
mysql_query("UPDATE infos SET score=score + '$res' WHERE pseudo='$pseudo'");
A plus