[PHP] controle de saisie mail

capa57 Messages postés 352 Date d'inscription   Statut Membre Dernière intervention   -  
LelLex Messages postés 1628 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, Voilà j'explique j'ai une zone de saisie ou je peux ecrire mon adresse mail lors d'une inscription sur un site

<td>Mail : </td><td><input type="text" name="mail" value="<?php if

(isset($_POST['mail'])) echo htmlentities(trim($_POST['mail'])); ?>"></td></tr>

<tr>

J'aimerais pouvoir gérer le fait que ce soit bien une adresse email ... comment faire ?

pour que ça soit du type : chaine@chaine.chaine (exemple : NomPrenom@msn.com )

gérer le fait qu'il y est une chaine avant "@" et une chaine apres "@" et un "." apres la chaine apres "@" et enfin une chaine apres le "."


ça a lair compliqué lol
si qqn peut m'aider
A voir également:

3 réponses

Foiesgras Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   5
 
Utiliser des Regex, voici un petit exemple péché sur le site. Je ne l'ai pas testé, mais au cas où tu chercher "regex control mail" et tu auras plein de réponse.

<?php
$chaine='truc-chose_machin_@expreg.com';
if(!preg_match(''^[[:alnum:]]([-_.]?[[:alnum:]])+_?@[[:alnum:]]([-.]?[[:alnum:]])+\.[a-z]{2,6}$'',$chaine))
{
echo 'pas bon';
}
else
{
echo 'bon';
}
?>
1
LelLex Messages postés 1628 Date d'inscription   Statut Membre Dernière intervention   112
 
Utiliser Regex c'est bien, car tu peur le faire toi-même.

Bon, autrement, il y a :
if(filter_var($email, FILTER_VALIDATE_EMAIL))
{
// good email
}
else
{
// pas good email
}
1
Utilisateur anonyme
 
Ou un peut plus simple :P

if (preg_match("#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$#", $email))
{
echo "ok";
}
else
{
echo "erreur";
}
0