par contre un trim sur chacun de tes champs, ça peut eviter des surprises, et de longues prises de tetes
par contre un trim sur chacun de tes champs, ça peut eviter des surprises, et de longues prises de tetes
Ok
Je marque résolu, merci à vous tous.
Une dernière question au passage :
Qu'est ce que tu appelles un "trim sur mes champs", Wanamia ?
fonction trim() qui enleve les espaces blancs en début et fin de chaine, au cas ou qd le gars rentre son pseudo, il laisse un blanc devant ou derrière, mysql ne trouvera pas dans la bdd
Bien vu
Merci Wamania.
**edit**
Ceci dit j'ai choisi une identification avec email + mot de passe au lieu du couple pseudo + mot de passe.
Donc ça n'est pas la peine ici, à priori. Bon, cela étant je peux le rajouter sur l'email à tout hasard, ça ne demande pas un gros travail.
C'est bien au moment de l'identification que tu m'indiques de faire cela ?
Au passage je précise, que c'est en effet exactement le problème que j'ai rencontré et je l'ai solutionné ainsi aussi. Mon optique était plutot d'alléger le temps d'affichage sur le site en n'ayant pas à refiltrer les informations en provenance de la base. On m'a déjà fait la remarque. Mais bon...Prenons un exemple : un forum. Imagine que tu décide de permettre a l'utilisateur (ou a un admin) d'editer un message d'un forum... tu va recuperer le texte dans la base... l'afficher dans ton textarea... et tu aura tout les < remplacés par des < !! Tu va donc devoir coder une fonction *inverse* de htmlspecialchars ! Est-ce vraiment tres propre ? Je ne pense pas ;o)
ce que j'ai dit est valable pour tout les champs, quelque soient les circonstances (inscription, message de forum, titre de message, signature, etc...) puisque apparement tu modifie tes données avant de les inserer dans la base, attend toi a quelques problemes quand tu voudra les editer ;o)
pour le trim perso, je m'en sers comme ça
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 function trim_array($array) { return is_array($array) ? array_map('trim_array', $array) : trim($array); } $_GET = trim_array($_GET); $_POST = trim_array($_POST); $_COOKIE = trim_array($_COOKIE);
Bonjour,Envoyé par wamania
Je viens de lire tout le sujet, fort interessant, mais je ne comprend pas la partie que je viens de mettre en quote.
En quoi le fait de laisser un blanc peut-il poser problème ? De quoi mysql ne trouvera pas dans la BDD ?
Merci d'avance
++
ShinJava
mal exprimé
en fait, ça veut juste dire que si dans ta bdd le gars s'appelle 'toto' et qu'il saisit ' toto', il ne sera pas identifié
un trim transforme ' toto' ou/et 'toto ' en 'toto'
Ah d'accord j'ai compris !
Je pensais que c'était encore une histoire de faille.
Merci de ta réponse
Bonne journée
++
ShinJava
Partager