IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Mail] Savoir si un site existe


Sujet :

Langage PHP

  1. #1
    Membre actif
    Profil pro
    Developpeur web et Access VBA
    Inscrit en
    Janvier 2003
    Messages
    457
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Developpeur web et Access VBA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2003
    Messages : 457
    Points : 203
    Points
    203
    Par défaut [Mail] Savoir si un site existe
    Bonjour,

    Quand une personne s'inscrit sur mon forum, je voudrai tester si l'url de l'email mis dans sa fiche est valide. Ceci afin de limiter toutes les inscriptions non réelles ou automatisées ?
    Merci pour votre aide, je ne sais pas comment faire !

  2. #2
    Rédacteur
    Avatar de Arnaud F.
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Août 2005
    Messages
    5 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Août 2005
    Messages : 5 183
    Points : 8 873
    Points
    8 873
    Par défaut
    Salut,

    Il existe surement des manières plus poussées pour vérifier qu'un mail est valide, mais commence déjà par testé si le mail entré comporte bien un suffixe, l'arobase puis le suffixe grâce à une expression régulière.

    Moi j'utilise celle-là, mais il en existe, là encore, surement de meilleures :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    // Vérification validité du mail
    $atom   = '[-a-z0-9!#$%&\'*+\\/=?^_`{|}~]';   // caractères autorisés avant l'arobase
    $domain = '([a-z0-9]([-a-z0-9]*[a-z0-9]+)?)'; // caractères autorisés après l'arobase (nom de domaine)
    $regex = '/^' . $atom . '+' .   '(\.' . $atom . '+)*' . '@' .'(' . $domain . '{1,63}\.)+' .$domain . '{2,63}$/i'; // test de l'adresse e-mail
     
    if (preg_match($regex, $mail))
    {
    	//Traitement mail valide
    }
    @++

  3. #3
    Membre actif
    Profil pro
    Developpeur web et Access VBA
    Inscrit en
    Janvier 2003
    Messages
    457
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Developpeur web et Access VBA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2003
    Messages : 457
    Points : 203
    Points
    203
    Par défaut
    Humm, merci cela n'est pas du tout mon problème...
    je veux savoir si le l'url de l'email existe...
    exemple : zzzz@ail.com
    ail.com est un site réel (accessible sur par le web) oui ou non ???...
    C'est cette fonction, pour tester la présence du site, que je recherche !

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Tiré des commentaires de la fonction checkdnsrr :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function validate_email($email){
       $exp = "^[a-z\'0-9]+([._-][a-z\'0-9]+)*@([a-z0-9]+([._-][a-z0-9]+))+$";
     
       if(eregi($exp,$email)){
         if(checkdnsrr(array_pop(explode("@",$email)),"MX")){
           return true;
         }else{
           return false;
         }
       }else{
         return false;
       }   
    }
    Note : Cette fonction [checkdnsrr] n'est pas disponible sur les machines Windows. Pour la remplacer, essayez la classe PEAR : Net_DNS.

    Julp.

  5. #5
    Membre actif
    Profil pro
    Developpeur web et Access VBA
    Inscrit en
    Janvier 2003
    Messages
    457
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Developpeur web et Access VBA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2003
    Messages : 457
    Points : 203
    Points
    203
    Par défaut
    Merci ! j'ai bien l'impression que c'est la bonne fonction mais en rajoutant ce code après rien ne marche....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if (validate_email) {
    		echo "l'url : ".array_pop(explode("@",$email))." est valide ";
    		} else {
    		echo "l'url : ".array_pop(explode("@",$email))." n'est pas valide ";
    		}

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Votre condition n'est pas correcte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $email = 'zzz@email.com';
    if (validate_email($email)) {
    # ... le reste de votre code

    Julp.

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 012
    Points : 1 093
    Points
    1 093
    Par défaut
    et je souhaite rajouter que ce n'est pas parce que le site xyz.com n'est pas accessible que l'adresse quelquun@xyz.com n'existe pas

  8. #8
    Membre actif
    Profil pro
    Developpeur web et Access VBA
    Inscrit en
    Janvier 2003
    Messages
    457
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Developpeur web et Access VBA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2003
    Messages : 457
    Points : 203
    Points
    203
    Par défaut
    A ben oui, comme ça c'est mieux....

    Merci !!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VB6]Comment savoir si un répertoire existe
    Par pendragon dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 30/09/2016, 06h42
  2. Savoir si une table existe
    Par Sydaze dans le forum Bases de données
    Réponses: 4
    Dernier message: 07/06/2005, 11h22
  3. [FSO] Savoir si un dossier existe
    Par Johnbob dans le forum ASP
    Réponses: 2
    Dernier message: 11/02/2005, 11h34
  4. [URL] Comment savoir si une URL existe?
    Par jse dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 07/10/2004, 15h33
  5. Check Url pour savoir si erreur 404 ou si le site existe
    Par Clément[Delphi] dans le forum Composants VCL
    Réponses: 2
    Dernier message: 07/08/2002, 13h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo