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 :

Vérification d'un mail dans du PHP [RegEx]


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 18
    Points : 9
    Points
    9
    Par défaut Vérification d'un mail dans du PHP
    Bonjour, Je suis admin reseau et je n'ai pas été formé sur le php et là on me demande de faire du php. Malheuresement, j'ai un petit soucis.
    Mon boss m'a demandé de faire une vérif de l'adresse mail c'est a dire que si une personne entre comme adresse mail " blablabla" et bien celle ci ne doit pas s'enregistrer. J'ai trouvé un petit bou de code qui permet justement de faire cette vérification mais cela ne fonctionne pas !!
    Voici le petit bou de code: ereg("^(.+)@(.+)\\.(.+)$", $variable)

    et maintenant voici ou je l'ai placé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <?
    if(isset($_POST) && strlen($_POST['mail']) > 0 )
    {
    	if(isset($_POST['inscription']) == true)
    	{
    		$requete_txt = "INSERT INTO `mailing` ( `email` , `site_id` ) VALUES ( '".$_POST['mail']."', '".$site_id."');";
    		$bdd->query($requete_txt);
                              ("^(.+)@(.+)\\.(.+)$", $mail)
    		hydrus_utils_alert("Votre adresse a bien été enregistrée");
    		//print("Votre adresse a bien été enregistrée");
    	}
    	else if(isset($_POST['desinscription']) == true)
    	{
    	    $requete_txt = "DELETE FROM `mailing` WHERE `email` = '".$_POST['mail']."' AND `site_id` = '".$site_id."' ";
    		$bdd->query($requete_txt);
    		hydrus_utils_alert("Votre adresse a bien été supprimée");
    		//print("Votre adresse a bien été supprimée");
    	}
    }
    ?>
    pourriez vous m'aider s'il vous plait !!
    Merci

  2. #2
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut


    Tu peux préciser un peu en quoi ça ne fonctionne pas ? (erreur, reconnaît rien, ...).

    Dans ton code je vois pas le ereg, il y a bien l'expression régulière mais seule, il manque un morceau ou bien ?
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 18
    Points : 9
    Points
    9
    Par défaut
    Oups, un copier coller pas tip top !!
    Voici le code et la il y a bien le "ereg"
    bah en fait l'email invalide se mets toujours dans ma base donnée or je n'en ve pas si l'email n'est aps sous la forme toto@test.com

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <?
    if(isset($_POST) && strlen($_POST['mail']) > 0 )
    {
    if(isset($_POST['inscription']) == true)
    {
    $requete_txt = "INSERT INTO `mailing` ( `email` , `site_id` ) VALUES ( '".$_POST['mail']."', '".$site_id."');";
    $bdd->query($requete_txt);
    ereg("^(.+)@(.+)\\.(.+)$", $mail)
    hydrus_utils_alert("Votre adresse a bien été enregistrée");
    //print("Votre adresse a bien été enregistrée");
    }
    else if(isset($_POST['desinscription']) == true)
    {
    $requete_txt = "DELETE FROM `mailing` WHERE `email` = '".$_POST['mail']."' AND `site_id` = '".$site_id."' ";
    $bdd->query($requete_txt);
    hydrus_utils_alert("Votre adresse a bien été supprimée");
    //print("Votre adresse a bien été supprimée");
    }
    }
    ?>

  4. #4
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    (bis, c'est le # au-dessus de la zone de saisie...).


    C'est bizarre que ça se banane pas vu qu'il manque le point-virgule après le ereg...

    Et ensuite ça me semble logique, tu fais le INSERT et après tu fais le test mais c'est trop tard...

    Et le ereg est un test donc il faut regarder sa valeur de retour pour en faire quelque chose, là il est comme ça dans la nature il sert à rien.

    En clair un truc dans le genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    if(isset($_POST['inscription']) == true)
    {
    if(ereg("^(.+)@(.+)\\.(.+)$", $mail))
    {
       $requete_txt = "INSERT INTO `mailing` ( `email` , `site_id` ) VALUES ( '".$_POST['mail']."', '".$site_id."');";
       $bdd->query($requete_txt);  
       hydrus_utils_alert("Votre adresse a bien été enregistrée");
    //print("Votre adresse a bien été enregistrée");
    }
    else
    // adresse non valide
    }
    pas testé...
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 18
    Points : 9
    Points
    9
    Par défaut
    Je pense aussi qu'il est mal placé mais etant donné que je ne suis pas trop un expert et bien je ne sais pas trop ou le placé!! et dans le code que tu vois au dessus et bien effectivement j'ai oublié de mettre le ";".
    Ou dois je le mettre ce "ereg" ??

    Merci pour tout

  6. #6
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Citation Envoyé par toxic_37
    Je pense aussi qu'il est mal placé mais etant donné que je ne suis pas trop un expert et bien je ne sais pas trop ou le placé!! et dans le code que tu vois au dessus et bien effectivement j'ai oublié de mettre le ";".
    Ou dois je le mettre ce "ereg" ??

    Merci pour tout
    Oups j'ai édité pendant que tu postais
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 18
    Points : 9
    Points
    9
    Par défaut
    je viens de voir mais cela ne fonctionne pas il me dit que j'ai une erreur qui est la suivante :

    Parse error: syntax error, unexpected '}

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 18
    Points : 9
    Points
    9
    Par défaut
    Mauvaise nouvelle ! je n'ai plus l'erreur du "}" mais le code que tu m'a demandé d'inserer ne change rien...
    Merci

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 18
    Points : 9
    Points
    9
    Par défaut
    voici ce que je viens d'apporter au code mais pareil ce la ne fonctionne pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    if(isset($_POST['inscription']) == true)
    {
    if(ereg("^(.+)@(.+)\\.(.+)$", $mail));
    {
       $requete_txt = "INSERT INTO `mailing` ( `email` , `site_id` ) VALUES ( '".$_POST['mail']."', '".$site_id."');";
       $bdd->query($requete_txt);  
       hydrus_utils_alert("Votre adresse a bien été enregistrée");
    //print("Votre adresse a bien été enregistrée");
    }
    	else if(isset($_POST['desinscription']) == true)
    	{
    	if(ereg("^(.+)@(.+)\\.(.+)$", $mail));
    	{
    	    $requete_txt = "DELETE FROM `mailing` WHERE `email` = '".$_POST['mail']."' AND `site_id` = '".$site_id."' ";
    		$bdd->query($requete_txt);
    		hydrus_utils_alert("Votre adresse a bien été supprimée");
    		//print("Votre adresse a bien été supprimée");
    	}
    	}
    ?>

  10. #10
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Citation Envoyé par toxic_37
    Mauvaise nouvelle ! je n'ai plus l'erreur du "}" mais le code que tu m'a demandé d'inserer ne change rien...
    Merci
    J'ai comme un doute là, tu initialises bien quelque part la variable $mail ? Sinon il faut faire le ereg sur $_POST['mail']...
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 18
    Points : 9
    Points
    9
    Par défaut
    nouvelle version du code et toujours pareil, il m'enregistre toujours ce fichu mail.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    <?
    if(isset($_POST) && strlen($_POST['mail']) > 0 )		
    {
    	if(isset($_POST['inscription']) == true)
    	{
    	if(ereg("^(.+)@(.+)\\.(.+)$", $_POST['mail']));
    	{
       $requete_txt = "INSERT INTO `mailing` ( `email` , `site_id` ) VALUES ( '".$_POST['mail']."', '".$site_id."');";
       $bdd->query($requete_txt);  
       hydrus_utils_alert("Votre adresse a bien été enregistrée");
    //print("Votre adresse a bien été enregistrée");
    	}
    	}
     
     
    else if(isset($_POST['desinscription']) == true)
    	{
    	if(ereg("^(.+)@(.+)\\.(.+)$", $_POST['mail']));
    	{
    	    $requete_txt = "DELETE FROM `mailing` WHERE `email` = '".$_POST['mail']."' AND `site_id` = '".$site_id."' ";
    		$bdd->query($requete_txt);
    		hydrus_utils_alert("Votre adresse a bien été supprimée");
    		//print("Votre adresse a bien été supprimée");
    	}
    	}
     
    }
    ?>

  12. #12
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    C'est sur qu'en mettant un point-virgule juste après le if ça va beaucoup moins bien marcher
    En gros tu fais le if mais aucune action n'est associée dans le cas où le test renvoie true.
    Donc enlève ces point-virgules et si l'expression régulière est bonne ça devrait passer sans problème...
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  13. #13
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 18
    Points : 9
    Points
    9
    Par défaut
    Merci pour TOUT !!!!Cela fonctionne a merveille

  14. #14
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut


    Bon courage pour la suite.
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  15. #15
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 18
    Points : 9
    Points
    9
    Par défaut
    re..

    une derniere petite question vous savez comment je peux faire pour avoir un petit message me disant "Attention veuillez saisir une adresse valide"?
    Merci

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 72
    Points : 57
    Points
    57
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?
    if(isset($_POST) && strlen($_POST['mail']) > 0 )		
    {
    	if(isset($_POST['inscription']) == true)
    	{
    	if(ereg("^(.+)@(.+)\\.(.+)$", $_POST['mail']));
    	{
       $requete_txt = "INSERT INTO `mailing` ( `email` , `site_id` ) VALUES ( '".$_POST['mail']."', '".$site_id."');";
       $bdd->query($requete_txt);  
       hydrus_utils_alert("Votre adresse a bien été enregistrée");
    //print("Votre adresse a bien été enregistrée");
    	} else {
    hydrus_utils_alert("Veuillez entrer une adresse valide !");
    	}

  17. #17
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 18
    Points : 9
    Points
    9
    Par défaut
    Trop de la balle !! MERCI

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

Discussions similaires

  1. Vérification format adresse mail dans formulaire
    Par tomtom59110 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 25/08/2013, 09h31
  2. Vérification d'adresse mail dans un formulaire
    Par kykyboogy dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 15/01/2009, 18h07
  3. Vérification e-mail dans formulaire
    Par pp51 dans le forum Langage
    Réponses: 8
    Dernier message: 21/01/2007, 21h42
  4. [Mail] mail() dans php
    Par pracede2005 dans le forum Langage
    Réponses: 4
    Dernier message: 23/11/2006, 17h16
  5. [Mail] Vérification validiter e-mail dans webmail
    Par freud dans le forum Langage
    Réponses: 5
    Dernier message: 27/09/2005, 16h29

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