Doubles posts PHP

Résolu
le_boss Messages postés 168 Date d'inscription   Statut Membre Dernière intervention   -  
le_boss Messages postés 168 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

6 réponses

Archeus01 Messages postés 1572 Date d'inscription   Statut Membre Dernière intervention   452
 
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 ...)
0
le_boss Messages postés 168 Date d'inscription   Statut Membre Dernière intervention   19
 
J'ai beau modifier l'encodage du champ ou se trouve le commentaire (utf-8; ASCII) ça ne change rien au problème, idem si je met l'encodage de la page ou se trouve le formulaire en utf-8 ou en ISO-8859.
0
Archeus01 Messages postés 1572 Date d'inscription   Statut Membre Dernière intervention   452
 
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...)?
0
le_boss Messages postés 168 Date d'inscription   Statut Membre Dernière intervention   19
 
Non, var_dump de la BDD répond string(8), pareil que var_dump($_POST)
0
Archeus01 Messages postés 1572 Date d'inscription   Statut Membre Dernière intervention   452
 
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...)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
le_boss Messages postés 168 Date d'inscription   Statut Membre Dernière intervention   19
 
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
0
le_boss Messages postés 168 Date d'inscription   Statut Membre Dernière intervention   19
 
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
0