[PHP] controle de saisie mail

capa57 Messages postés 383 Statut Membre -  
LelLex Messages postés 1753 Statut Membre -
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 Statut Membre 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 1753 Statut Membre 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