problème avec preg_match()
Bonjour,
J'ai un formulaire dont je récupère les données dans mon contrôleur, je voudrais mettre une condition pour vérifier si le champ contient un caractère spécial du type &,<,# etc et afficher un message si tel est le cas ou bien ajouter les éléments du formulaire en BDD s'il n'y a pas de caractères spéciaux.
Le problème est que les éléments sont toujours ajoutés en BDD, qu'il y ait des caractères spéciaux ou non
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| $pseudoVisiteur2 = $_GET['pseudo2'] ;
$mdpVisiteur2 = $_GET['mdp2'] ;
$mdpCrypt = md5($mdpVisiteur2) ;
$nomVisiteur = $_GET['nom'] ;
$prenomVisiteur = $_GET['prenom'] ;
$mailVisiteur = $_GET['mail'] ;
$date = date("d-m-Y") ;
$listeNoire = '/\#\&\~\{\(\[\|\"\)\=\}\+\°\*\/\!\§\:\;\?\<\>/' ;
if ((preg_match($listeNoire, $pseudoVisiteur2)) or (preg_match($listeNoire, $mdpVisiteur2)) or (preg_match($listeNoire, $nomVisiteur)) or (preg_match($listeNoire, $prenomVisiteur)))
{
echo'Ces champs ne doivent comporter que des lettres ou des chiffres ou - ou _' ;
}
else
{
$visiteur = new Visiteur($nomVisiteur, $prenomVisiteur, $pseudoVisiteur2, $mdpCrypt, $mailVisiteur, $date) ;
$bdd->ajoutVisiteur($visiteur) ;
echo'Vous êtes inscrit.' ;
} |
J'ai besoin d'aide svp.