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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Vérification d'adresse mail dans un formulaire


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 20
    Points : 11
    Points
    11
    Par défaut Vérification d'adresse mail dans un formulaire
    Bonjour,

    Voilà j'ai créé un variable contenant une expression régulière permettant de vérifier, l'adreese mail saisie.

    Alors ça marche, mais seulement j'ai le message d'erreur comme quoi le mail n'est pas valide, mais sur la page de sortie, c'est à dire qu'il m'enregistre quand même les champs dans ma table.
    Je n'arrive pas à placer ma condition au bon endroit, merci d'avance pour votre aide.

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    <font color="#FFFFFF">
    		<?php
     
    			if(isset($_POST['DoIt'])){
     
    				$cnx = mysql_connect("localhost","root","") or die( mysql_error() ) ;
    				mysql_select_db("inscriptions");
     
    				$msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis :<br/><br/>";
     
       			/*Controle des champs obligatoires*/
    			if (empty($_POST['email']))
    				$erreur .= "Votre e-Mail<br/>";
    			if (empty($_POST['nom']))
    				$erreur .= "Votre nom<br/>";
    			if (empty($_POST['prenom']))
    				$erreur .= "Votre prenom<br/>";
    			if (empty($_POST['codepostal']))
    				$erreur .= "Votre code postal<br/>";
    			if (empty($_POST['ville']))
    				$erreur .= "Votre ville<br/>";
    			if (empty($_POST['datedenaissance']))
    				$erreur .= "Votre Date de naissance<br/>";
     
     
     
     			if (isset($erreur)){
     
    				echo $msg_erreur."".$erreur;
     
    			} else {
     
    				foreach($_POST as $index => $valeur) {
    					$_POST[$index] = mysql_real_escape_string(trim($valeur));
    			}
     
     
    				$email = $_POST['email'];
    				$nom = $_POST['nom'];
    				$prenom = $_POST['prenom'];
    				$civilite = $_POST['choix'];
    				$codepostal = $_POST['codepostal'];
    				$ville = $_POST['ville'];
    				$datedenaissance = $_POST['datedenaissance'];
    				$filleule1 = $_POST['filleule1'];
    				$filleule2 = $_POST['filleule2'];
    				$filleule3 = $_POST['filleule3'];
     
    				$regex = "/^[-+.\w]{1,64}@[-.\w]{1,64}\.[-.\w]{2,6}$/i";
     
    				if (!preg_match($regex,$email)) 
    				{
          				echo "L'adresse E-mail n'est pas valide";
    				}
     
     
    				$sql = "INSERT INTO formulaire (email, nom, prenom, civilite, codepostal, ville, datedenaissance, filleule1, filleule2, filleule3) VALUES ('$email', '$nom', '$prenom', '$civilite', '$codepostal', '$ville', '$datedenaissance', '$filleule1', '$filleule2', '$filleule3')";
     
    			if ($res = mysql_query($sql) or die('Erreur'. mysql_error())){
     
    					$OK="ok";
    			?>
    					<h3 align="center">Votre inscription a réussie ! Bienvenue <?php echo $_POST['prenom']; ?> <?php echo $_POST['nom']; ?> sur notre site</h3>
    			<?php
     
    			}
     
    			mysql_close();
     
    	}
    }
    ?>
    </font>
     
    <?php
    			if(!isset($OK) || $OK!="ok"){
    ?>
     
     
     
     
     
    		<font color="#FFFFFF">
    			<fieldset><legend><u>Formulaire d'inscription</u> :</legend>
     
    				<form action="<?php $_SEREVR['PHP_SELF'] ?>" method="post"/>
     
     
    					<label for="email">Votre e-mail* :</label><input type="text" name="email" value="<?php if(isset($_POST['email'])) echo $_POST['email'];?>" id="email"/><br />
     
    					<label for="nom">Nom* :</label><input type="text" name="nom" value="<?php if(isset($_POST['nom'])) echo $_POST['nom'];?>" id="nom"/><br />
     
    					<label for="prenom">Prénom* :</label><input type="text" name="prenom" value="<?php if(isset($_POST['prenom'])) echo $_POST['prenom'];?>" id="prenom"/><br />
     
    					<label for="civilite">Civilité :</label><select name="choix" id="civilite">
    						<option name="choix" value="Mr">Mr</option>
    						<option name="choix" value="Mme">Mme</option>
    						<option name="choix "value="Mlle">Mlle</option>
    					</select><br />
     
    					<label for="codepostal">Code Postal* :</label><input type="text" name="codepostal" value="<?php if(isset($_POST['codepostal'])) echo $_POST['codepostal'];?>" id="codepostal"/><br />
     
    					<label for="ville">VIlle* :</label><input type="text" name="ville" value="<?php if(isset($_POST['ville'])) echo $_POST['ville'];?>" id="ville"/><br />
     
    					<label for="datedenaissance">Date de Naissance* :</label><input type="text" name="datedenaissance" value="<?php if(isset($_POST['datedenaissance'])) echo $_POST['datedenaissance'];?>" id="datedenaissance"/><br />
    					<label for="formatdate">jj/mm/aaaa</label><br /><br />
    <hr />
    			<legend><u>Parrainage</u> :</legend><br /><br />
    					<label for="filleule1">Filleule 1 :</label><input type="text" name="filleule1" value="<?php if(isset($_POST['filleule1'])) echo $_POST['filleule1'];?>" id="filleule1"/><br />
    					<label for="filleule2">Filleule 2 :</label><input type="text" name="filleule2" value="<?php if(isset($_POST['filleule2'])) echo $_POST['filleule2'];?>" id="filleule2"/><br />
    					<label for="filleule3">Filleule 3 :</label><input type="text" name="filleule3" value="<?php if(isset($_POST['filleule3'])) echo $_POST['filleule3'];?>" id="filleule3"/><br /><br />
    					<label for="newsletters">Je m'inscris à la newsletter :</label><input type="radio" name="choix" value="Oui" id="choixoui"/><font size="-2">Oui</font><input type="radio" name="choix" value="Non" id="choixnon"/><font size="-2">Non</font><br /><br /><br />
    					<input type="reset" name="reset" value="réinitialiser" id="boutonreset"/><input type="submit" name="DoIt" id="boutonenvoie"/>
    </fieldset><br /><br /><br /><br />
    </form>
    </font>
     
     
    <?php
    }
    ?>

  2. #2
    Membre habitué
    Avatar de flo.87
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 77
    Points : 132
    Points
    132
    Par défaut
    Tu peux placer l'enregistrement des champs dans une section "else" qui suit le "if"

    Cela donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    if (!preg_match($regex,$email)) 
    {
        echo "L'adresse E-mail n'est pas valide";
    }
    else
    {
        $sql = "INSERT INTO formulaire (email, nom, prenom, civilite, codepostal, ville, datedenaissance, filleule1, filleule2, filleule3) VALUES ('$email', '$nom', '$prenom', '$civilite', '$codepostal', '$ville', '$datedenaissance', '$filleule1', '$filleule2', '$filleule3')";
    ...
    }
    La Connerie est une autre forme d'intelligence

  3. #3
    Membre chevronné
    Avatar de Bidouille
    Inscrit en
    Mars 2003
    Messages
    1 275
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 1 275
    Points : 1 992
    Points
    1 992
    Par défaut
    Moi j'ajouterai un petit htmlentities pour la variable avant de l'intégrer dans la requête.

    http://php.developpez.com/faq/index....rite-failleXSS
    Rédacteur PHP / Delphi ADO / Novell / OpenOffice.org

    Inutile de m'envoyer vos questions par MP, je ne réponds que par le forum.

Discussions similaires

  1. Réponses: 1
    Dernier message: 18/11/2015, 12h55
  2. 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
  3. Envoyer formulaire à une adresse mail dans l'anonymat
    Par face_connector dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 12/08/2012, 00h55
  4. vérification d'une adresse mail dans un formulaire via une regexp
    Par mattstriker dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 11/04/2008, 19h12
  5. Insertion d'adresse mail dans formulaire MS Access
    Par Gabe74 dans le forum Access
    Réponses: 1
    Dernier message: 06/09/2006, 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