Doubles posts PHP
Résolu
le_boss
Messages postés
172
Statut
Membre
-
le_boss Messages postés 172 Statut Membre -
le_boss Messages postés 172 Statut Membre -
Bonjour,
Je sèche sur ce problème pourtant classique.
Ma méthode pour empêcher le double post (après refresh par exemple): Je compare le dernier message de l'utilisateur dans la BDD avec le contenu de la variable post.
Le problème: ça marche nickel, sauf quand le message contient des retours à la ligne...
Si vous connaissez un truc, je suis preneur !
Merci
Je sèche sur ce problème pourtant classique.
Ma méthode pour empêcher le double post (après refresh par exemple): Je compare le dernier message de l'utilisateur dans la BDD avec le contenu de la variable post.
Le problème: ça marche nickel, sauf quand le message contient des retours à la ligne...
Si vous connaissez un truc, je suis preneur !
Merci
6 réponses
-
Certainement un encodage différent. Regarde l'encodage de ta base de donnée et l'encodage des données renvoyer... (tu vas certainement avoir besoin de truc genre utf8_encode ou utf8_decode ...)
-
avec des vard_dump, tu vois al différence ou pas entre les deux ? (variables reçu de la bdd et variable reçu via le post ou get selon ton form...)?
-
Non, var_dump de la BDD répond string(8), pareil que var_dump($_POST)
-
Je désirais plutot savoir ce que tu recevais comme valeur plutôt que comme type....
Est-ce que tu peux repérer à l'oeil les différences? si oui, cela signifie bien qu'il y a une différence du codage (désiré ou non... peu importe ;) ). D'ailleurs si tu utilises des fonctions du genre htmlentities pour insérer les valeurs dans ta bdd, n'oublie aps d'utiliser les fonctions inverses genre html-entity-decode afin de pouvoir comparer... (ou tu compares après avoir exécute les mêmes transformations sur la valeur reçu par post...) -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
arg t'as raison
quand je poste: "ggg[return]" dans mon formulaire
si je fais un echo de ma variable post, j'ai: "ggg\r\n"
par contre si je fais un echo du message une fois inséré dans la bdd, j'ai: "ggg "
donc forcément, c'est différent, donc mon if autorise l'insertion -
Problème résolu...
ma variable post était affublée de mysql_real_escape_string() et de htmlspecialchars() d'où les \r\n qui embêtaient.
Merci Archeus01