Bonjour à toutes et tous
ci-dessous une partie de code simplifiée où je teste chaque données qui vont rentrer dans la bdd avec une expression régulière
Je voudrais remplacer tous ces tests successifs par une fonction ci-dessous
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 if(preg_match ($tab_filtre["nom"], $_POST['nom'] )){ $NOM = $_POST["nom"]; if(preg_match ($tab_filtre["prenom"], $_POST['prenom'] )){ $PRENOM = $_POST["prenom"]; ICI TRAITEMENT DES DONNEES }else{ echo "erreur de filtrage prenom ";echo'<br/>'; } }else{ echo "erreur de filtrage nom ";echo'<br/>'; } }
Donc à la place du premier code j'aurais:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 $tab_filtre = array( "nom" => "#^[A-Z]*[\' \-A-Z]*[A-Z]$#", "prenom" => "#^[A-Z][a-zà-ÿ]*([- ][A-Z][a-zà-ÿ]*)*$#", "adresse" => "#(A-Za-zà-ÿ0-9\-\' ,.)*#", "Code_Postal"=>"#[0-9]{5}#", "MAIL"=> "#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", "mdp"=> "#[0-9]{5,10}#", "VILLE"=> "#^[A-Z]*[\' \-A-Z]*[A-Z]$#", "tel"=> "#^0[1-9] ([0-9]{2} ){3}[0-9]{2}$#", "date"=> "#^([0-9]{2}\/){2}[0-9]{4}$#", "key_confirm"=>"#[0-9]{14}#", "Avoir"=>"#^[0-9]*.?[0-9]{0,2}$#", ); function verif($str_test){ global $tab_filtre; if(preg_match ($tab_filtre[$str_test], $_POST[$str_test])){ return $_POST[$str_test]; }else{ exit("erreur ".$str_test); } }Mais bien sûr ceci ne fonctionne pas en cas d'erreur $NOM= erreur nom qui serait rentré dans ma base.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $NOM =verif("nom"); $PRENOM =verif("prenom"); ICI TRAITEMENT DES DONNEES
comment traiter l'exit de cette fonction de verif
Partager