bidibulle Posté 22 Janvier 2010 Posté 22 Janvier 2010 (modifié) Bonjour, ci-dessous ma focntion de contrôle que contenu de mon textarea function ValidMessage($mess){ $ValidChar = "#^[A-Za-z0-9éèë' -,/!?]{1,}$#"; if(preg_match($ValidChar,$mess)){ return true; }else{ return false; } } J'ai plusieurs soucis : Lorsque mon message fais plus d'une ligne il est considéré comme FALSE Ensuite je ne parviens pas à lui faire accepter l'apostrophe. Je ne parviens pas à bien cerner la syntaxe de la fonction preg_match Merci de votre aide Modifié 22 Janvier 2010 par bidibulle
captain_torche Posté 22 Janvier 2010 Posté 22 Janvier 2010 J'ai l'impression que tu te compliques un peu la vie, en effet Pourquoi as-tu besoin de contrôler ton champ ? Qu'est-ce que tu ne veux pas valider ?
bidibulle Posté 22 Janvier 2010 Auteur Posté 22 Janvier 2010 ben en fait je veux éviter les injections lier à la fonction mail et donc je voudrais sécuriser au maximum mes formulaires, car j'ai crée le même genre de fonction pour les autres champs(nom,prénom,e-mail,adresse,etc). Maintenant c'est vrai qu'il y peut être plus simple, mais ayant fait quelque recherche il me semblait que c'était le "plus sur"
Patrick Posté 22 Janvier 2010 Posté 22 Janvier 2010 Il me semble que le problème vienne de l'expression régulière. L'apostrophe n'y est pas autorisé, les retour à la ligne n'ont plus. En fonction de la façon dont est élaborée et traitée la variable $mess cela peut tout changer ! Le plus simple pour sécuriser tout ça, c'est un bon vieux htmlspecialchar. C'est rapide et efficace. Si tu le souhaites, tu peux le compléter avec un preg_match qui finira d'interdire certains caractères. ça sera beaucoup plus simple pour toi et tout aussi efficace. ++ Patrick
Leonick Posté 5 Février 2010 Posté 5 Février 2010 en fait, effectivement, par défaut les expressions régulières n'acceptent pas le multiligne, mais avec l'option "m" à la fin du masque, elles peuvent l'accepter http://www.php.net/manual/fr/reference.pcre.pattern.modifiers.php
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant