7. Vérifier une adresse mail
Cette partie explique comment vérifier une adresse mail rentrée dans un
formulaire. C'est une première vérification, pas la certitude que l'adresse
est correcte.
| <?php
function taille_variable($variable,$taille_min=0,$taille_max=0){
global $_POST;
if(!isset($_POST[$variable])){
// valeur non définie
return false;
}elseif (strlen($_POST[$variable])<$taille_min){
return False;
}elseif(strlen($_POST[$variable])>$taille_max){
return FALSE;
}
return True;
}
if(!taille_variable('email',8,60)){
echo'email invalide, rentrez minimum 8 caractères';
}
if (!strpos($_POST['email'],'@')){
echo'Adresse mail non valide';
}
list($user,$dns)=explode("@",$_POST['email']);
If (!checkdnsrr($dns)){
echo'L\'adresse mail n\'est pas valide';
}
|
Commençons par analyser une adresse mail. Elle est
de la forme: user@nom_domaine.ext
-
le nom utilisateur est de 1 caractère minimum
-
@ donne encore 1 caractère
-
nom de domaine est de 3 lettres minimum
-
. est obligatoire
-
extension est de minimum 2 lettres (exemple be,
fr, ...)
L'adresse mail doit donc inclure minimum 8
caractères. Cette vérification est faite par la condition if(!taille_variable('email',8,60))
qui appelle la fonction (function) du même nom.
En deuxième, une adresse mail inclus d'office le
caractère @. Cette vérification est faite par la condition
if (!strpos($_POST['email'],'@'))
Vérifier si un nom de domaine est valide est
possible mais la solution est de vérifier si le nom de domaine utilisé
inclus un serveur de mail. Nous décomposons l'adresse rentrée en deux
partie, l'utilisateur et le nom de domaine en coupant l'adresse avec le
caractère @. Le nom de domaine est simplement vérifié avec la fonction if(!checkdnsrr($dns)).
Ces trois vérifications ne garantissent pas que
l'adresse rentrée est correcte, juste permettre de vérifier que l'utilisateur
n'a pas fait d'erreur en entrant les données. Par exemple, une adresse mail de
type dahut.be @dahut.be n'existe pas
mais sera validée (en plus, un espace est inséré)
|