Bonjour à tous,
il se passe 2 mystères intimement liés dans ma ptite programmation ...

1) Je souhaite mettre a jour dans ma base de données un score de vote tout simple en ajoutant 5 points. Voilà la ligne de code.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
mysql_query("UPDATE table SET scorevote = scorevote+5 WHERE pseudo='$pseudo'");
Il se produit donc une modification dans le champs concerné et ajoute ces 5 points, mais le plus souvent 10 points d'un coup ... gros problème et surtout POURQUOI!!

2) Sur cette même page, comme on ne doit voter qu'une seule fois par jour, un champs "voteactif" est présent dans la bdd. Voilà la ligne de code.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
"SELECT voteactif FROM table WHERE pseudo='$pseudo'"
if (voteactif == 0) ON PEUT VOTER
else ON PEUT PLUS VOTER
 
PUIS
 
mysql_query("UPDATE table SET voteactif == 1 WHERE pseudo='$pseudo'");
Si on a déjà voté, un message d'erreur apparait. Mais j'ai l'impression que DES FOIS SEULEMENT, l'UPDATE est traité avant l'affichage du vote, donc le client ne peut pas effectuer son vote puisqu'il est considéré comme déjà avoir voté ...

C'est plus une épine que j'ai dans le pied mais un acacia centenaire ... merci du coup de main.