Aller au contenu

Quelque soucis avec preg_match


bidibulle

Sujets conseillés

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é par bidibulle
Lien vers le commentaire
Partager sur d’autres sites

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"

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines plus tard...

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...