PHP : Valider NOM PRÉNOM avec accent exp rég
Résolu
katarina999
Messages postés
68
Date d'inscription
Statut
Membre
Dernière intervention
-
ktm620enduro Messages postés 293 Date d'inscription Statut Membre Dernière intervention -
ktm620enduro Messages postés 293 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Regex nom prenom
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
4 réponses
Voici mon code, qui pourrait trouver le bug qui s'y cache ?
Et voici le formulaire qui est dans un fichier form.php
Ce code fonctionnait pour un formulaire qui entrait le données reçues dans une BDD. Mais cette fois-ci, mon code ne valide plus les accents, pourtant il ne s'agit d'un copier coller de mon ancien code !
Merci d'avance !
<?php if (isset($_POST['envoyer'])) { //VARIABLE //initialise la variable de messages d'erreurs à vide $msg = ''; //nom $nom = ucfirst($_POST["nom"]); //regex pour le nom if(preg_match("/^([a-zA-Z'àâéèêôùûçÀÂÉÈÔÙÛÇ[:blank:]-]{1,75})$/", $nom)) $regex_nom = true; else $regex_nom = false; //ERREURS //si données manquantes if (empty($nom) or empty($prenom)) { $msg .= 'Remplir le form. <br />'; } //si le nom n'est pas valide if ((!empty($nom)) and ($regex_nom == false)) $msg .= 'Nom invalide <br />'; if (empty($msg)) { echo 'Nom : '.$nom.'<br />'; } else { echo $msg; include('form.php'); } } else { include('form.php'); } ?>
Et voici le formulaire qui est dans un fichier form.php
<form method="post" action=""> <p>Nom * : <input name="nom" size="30" maxlength="40" /></p> <p><input type="submit" value="Envoyer" name="envoyer"</p> </form>
Ce code fonctionnait pour un formulaire qui entrait le données reçues dans une BDD. Mais cette fois-ci, mon code ne valide plus les accents, pourtant il ne s'agit d'un copier coller de mon ancien code !
Merci d'avance !
Bonjour,
Le test effectué fonctionne pourtant très bien :
Bien entendu, le prénom Anaïs ne satisfait pas le masque car le ï n'est pas pris en compte dans le masque ainsi que le ë de Noël et le ü de Güdrun (minuscules et capitales).
Le test effectué fonctionne pourtant très bien :
<?php //$nom = 'Hervé'; //$nom = 'Gérard'; //$nom = 'René'; //$nom = 'Anaïs'; //$nom = 'Noël'; //$nom = 'Güdrun'; $nom = 'Jean louis'; if(preg_match("/^([a-zA-Z'àâéèêôùûçÀÂÉÈÔÙÛÇ[:blank:]-]{1,75})$/", $nom)) echo "$nom satisfait le masque"; else echo "$nom ne satisfait pas le masque"; ?>
Bien entendu, le prénom Anaïs ne satisfait pas le masque car le ï n'est pas pris en compte dans le masque ainsi que le ë de Noël et le ü de Güdrun (minuscules et capitales).
Mon fichier en utf8:
Johan
Je vais faire le test et je te dirai si cela marche avec mon formulaire.
Comme tu l'avais dit, mon encodage était UTF-8. Je l'ai donc passé en iso-8859-1 et tout fonctionne.
Cependant, j'ai souvent ce genre de problème lorsque je code en PHP. Je ne sais pas s'il faut être en UTF-8 ou en iso-8859-1. Que me conseillerais-tu ?
Merci.