Comment verifier un email dans un formulaire

bobch Messages postés 14 Statut Membre -  
varfendell Messages postés 3259 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je doit verifier si un email a le bon format dans un formulaire en php mais je ne sais pas le faire qq peut m'aider

2 réponses

jipicy Messages postés 41342 Statut Modérateur 4 896
 
Bonjour,

S'il vous plaît, merci, c'est trop demander ???

A lire...

Merci.
0
varfendell Messages postés 3259 Date d'inscription   Statut Membre Dernière intervention   707
 
Bonjour, pour cela tu plusieurs choix:

I) En utilisant un filtre

En utilisant une fonction de la famille des filtres, vous pouvez vérifier qu'une adresse email est valide.
Par exemple filter_var()
Exemple:

if(filter_var($email, FILTER_VALIDATE_EMAIL)){ 
    //L'email est bonne 
}


II) Grâce aux expressions régulières

Grâce aux expressions régulières, il est possible de vérifier si une adresse email, saisie par exemple via un formulaire, est valide.

Voici une fonction qui vérifie si une chaine de caractères est seulement une adresse e mail valide.
function VerifierAdresseMail($adresse) 
{ 
   $Syntaxe='#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$#'; 
   if(preg_match($Syntaxe,$adresse)) 
      return true; 
   else 
     return false; 
}


Exemple d'utilisation

Après avoir récupéré le champ "adresse" d'un formulaire :

$adresse=htmlentities($_POST['adresse']); 
if(VerifierAdresseMail($adresse)) 
  echo '<p>Votre adresse est valide.</p>'; 
else 
  echo '<p>Votre adresse e-mail n\'est pas valide.</p>';


Explications

Les dièses sont les délimiteurs de la regex.
Le signe ^ indique que la chaine doit commencer par ce qui suit, et le signe $ indique qu'elle doit se terminer par ce qui précède.
\w est une classe abrégée qui correspond a A-Za-z0-9_. soit aux 26 lettres de l'alphabet en majuscules ou minuscules, les dix chiffres et un underscore.
Ce que fait le code

^[\w.-]+@ Commence (^) par au moins un caractère correspondant à la classe abrégée, ou un tiret, puis est suivi par un@.
[\w.-]+ un ou plus de caractères correspondant à la classe abrégée ou un tiret (c'est le nom de domaine)
\.[a-zA-Z]{2,6}$ un point, puis deux à six lettres, qui finissent la chaine (c'est la tld du nom de domaine).
0