Modérateur PHPfrance |
10684 Messages
09 janv. 2008, 18:00
Il n'y a jamais trop de commentaires dans un code
Bon.. on va reprocéder par étape. Tu ne rentres pas dans ton if(), c'est que ton test est faux, donc que la valeur de $enregistrement_timestamp est inférieure ou égale à celle de $maintenant_moins_trois_minutes.
En partant du principe que le problème ne peut pas provenir de l'instruction "time() - 3*60" qui est assez basique, il faut regarder du côté de $enregistrement_timestamp.
$enregistrement_timestamp contient la valeur de $resultat[0], qui contient le résultat de la requête, c'est à dire la valeur du champ 'TIMESTAMP' de la table "jos_users" pour l'id spécifié.
Déjà, c'est franchement pas judicieux d'avoir nommé ton champ "timestamp", il me semblait avoir lu plus haut que tu l'avais nommé "temps" dans un alter table, ce qui était bien mieux que d'utiliser un mot clé SQL. Ceci étant, le problème viendrait donc de la valeur de ce champ.
Il te faut donc regarder quand est-ce qu'il est mis à jour, et avec quelle valeur.
A priori, dans l'update qui met à jour le crédit, tu devrais également mettre à jour le timestamp pour que le crédit a été enregistré... Il me semble que tu passes par un trigger (j'arrive pas à retrouver le message ou tu l'as mentionné), c'est donc de ce coté qu'il te faut regardé. Est-il bien déclenché, quelle valeur utilise-t-il, etc.

Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...