FORUM Tom's Hardware » Programmation » PHP & MySQL & ASP » Besoin d'aide pour valider une adresse email dans un formulaire
 

Besoin d'aide pour valider une adresse email dans un formulaire

Matériel : sniper60, Blondin2ao, arsonic99 Le monde de Windows : delaent Overclocking & Tuning : adia, 1 utilisateur anonyme et 327 utilisateurs inconnus
Ajouter une réponse



 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : Besoin d'aide pour valider une adresse email dans un formulaire
 
pae
Plus d'informations

Bonjour !
 
 
Je débute dans le php. Je n'en suis donc pas encore aux bases de données.
 
Par contre j'aimerai bien savoir envoyer un formulaire avec vérification de l'adresse email. Tout ceci en php.
 
Voilà ce qu'on m'a aidé à réaliser :
 
 
script de vérification :
 
<html>
<head>
<title>Formulaire verification</title></head>
 
<body>
 
<?
 
$MailTo = "pae18@free.fr";
$MailSubject = "Formulaire - Contact";
$MailHeader = "From: $Email";
 
 
$Envoi = 1;
 
 
if ($_POST['Nom'] == "" ){
echo("<br><br>- Nom" );
$Envoi = 0;
}
else {
$MailBody .= "Nom : " . $_POST['Nom'] . "\n";
}
if ($_POST['Prenom'] == "" ){
echo("<br><br>- Prénom" );
$Envoi = 0;
}
else {
$MailBody .= "Prénom : " . $_POST['Prenom'] . "\n";
}
if ($_POST['Commentaire'] == "" ){
echo("<br><br>- Commentaire" );
$Envoi = 0;
}
else {
$MailBody .= "Commentaire : " . $_POST['Commentaire'] . "\n";
}
if ($_POST['Email'] == "" or !eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*$",$mail)){
echo("<br><br>- Email<br>&nbsp;&nbsp;&nbsp;<i><font size=2>L'adresse email est-elle valide ?</font></i>" );
$Envoi = 0;
}
else {
$MailBody .= "Email : " . $_POST['Email'] . "\n";
}
 
//Envoi du message
if ($Envoi == 0) {
echo("<br><br><br><br><br>Merci de vérifier les renseignements ci-dessus.<br><br><br><br><br>" );
echo("<a href='javascript:history.go(-1)'>Retour</a><br><br>" );
}
 
if ($Envoi == 1) {
mail($MailTo, $MailSubject, $MailBody, $MailHeader);
//mail($MailCc, $MailSubject, $MailBody, $MailHeader);
echo("<br><br><br><center>Votre message a bien &eacute;t&eacute; envoy&eacute;.<br><br>Merci &agrave; vous !<br><br>-----------------------------------<br>Emilie<br>
    -----------------------------------</center>" );
echo("<br><br><br>&nbsp;&nbsp;<p align=\"center\"><a href=\"..\index.html\"><strong>Retour</strong></a>" );
}
 
 
 
?>
 
</body>
</html>

 
 
Page HTML :
 
<html>
<head>
<title>formulaire</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
 
<body>
<table width="765" border="0" cellpadding="2" cellspacing="0" align="center">
  <tr valign="middle" >  
    <td colspan="2">  
      <form method="POST" action="verification.php" name="Contact">
        <br>
        <table width="87%" border="1" align="center" cellpadding="3" cellspacing="0" bordercolor="#000000">
          <tr>  
            <td height="25" colspan="3">  
              <center>
                CONTACT
              </center>
            </td>
          </tr>
          <tr class="Texte1Bis">  
            <td width="23%" height="35">  
              <div align="left">Nom :</div>
            </td>
            <td width="26%" height="35" class="Texte1Bis">  
              <input>
              * </td>
            <td height="35" rowspan="3" align="center" valign="middle" width="51%">  
              <textarea name="Commentaire" cols="25" rows="5" wrap="PHYSICAL">
     </textarea>
            </td>
          </tr>
          <tr>  
            <td height="35" width="23%">  
              <div align="left">Prénom :</div>
            </td>
            <td height="35" width="26%">  
              <input name="Prenom" type="text">
              * </td>
          </tr>
          <tr>  
            <td height="35" width="23%">  
              <div align="left">Email :</div>
            </td>
            <td height="35" width="26%">  
              <input name="Email" type="text">
              *</td>
          </tr>
          <tr>  
            <td height="10" colspan="3">  
              <center>
                <span>( * : champs obligatoires)</span>  
              </center>
            </td>
          </tr>
        </table>
        <center>
          <p><br>
            <input type="reset" name="reset" value="Effacer">
            <input type="submit" name="Submit" value="Envoyer">
          </p>
        </center>
      </form>
    </td>
  </tr>
</table>
<p>&nbsp;</p></body>
</html>

 
 
Mon problème est le suivant :
 

  • la vérification du formulaire est mauvaise
  • la vérification de validité de l'email semble mauvaise.


 
:heink:J'aimerai bien que quelqu'un puisse m'aider... :(


Message édité par pae le 12-01-2006 à 14:56:14

Inside my own Second Life

Plutôt que de mettre des couleurs plus ou moins illisibles, utilises la balise [code] prévue à cet effet (bouton http://img.presence-pc.com/forum/icones/message/c.gif).....
 
Pour vérifier ton adresse mail, tu n'utilises pas le contenu de $_POST['Email'] .... Une erreur classique..
 
Une soluce :
 

Code :
  1. if (isset($_POST['Email'])) { $email = $_POST['Email']; }
  2. else { $email = ""; }
  3. if ($email == "" ) { $reponse = "Vous avez oublié votre adresse e-mail."; }
  4. if (!eregi("^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,3}$", $email)) { $reponse = "Est-ce bien une adresse email valide ?"; }


 
Pour le reste, on ne programme plus en HTML 4.01 de "grand-père", on est en XHTML 1.0 (+ CSS) depuis 2000, le XHTML 1.1 commence à être reconnu par les navigateurs (Firefox et Opera) et le 2.0 est en développement (sauf que Konqueror sur Linux et Safari sur Mac ne supportent toujours pas officiellement le XHTML toutes versions, même s'ils savent s'en sortir à peu près bien. Ils partagent le moteur de rendu KHTML)..
 
En plus, tu fais de la mise en page par des tableaux (ce n'est pas leur but) et pour couronner le tout, tu les encapsules les uns dans les autres !! A proscrire : c'est lourd à télécharger, ça bouffe de la bande passante serveur et l'affichage correct n'est pas toujours garanti (gestions par défaut des bordures par les navigateurs parfois très inégales).. Quant à maintenir une compatibilité avec des navigateurs d'anciennes générations (IE 3 et 4, Netscape 4, Opera 3 à 5), elle est devenue inutile puisqu'on peut considérer qu'ils ne sont plus utilisés..
 
Plus d'infos, des cours et des tutos sur le XHTML, le CSS et le PHP dans le Topic Unique pinné en haut de la liste des sujets..
 
:jap:


Message édité par Johan_et_P irlouit le 10-01-2006 à 17:33:24

---------------
Retrouvez moi sur mon blog : http://www.nicolasullern.net/leblog/
Et aussi sur :
http://www.linkedin.com/in/nicolasullern
http://www.viadeo.com/fr/profile/nicolas.ullern
http://www.copaing.net/johanpirlouit/
pae
Plus d'informations

Merci


Aller à :
Ajouter une réponse
  FORUM Tom's Hardware » Programmation » PHP & MySQL & ASP » Besoin d'aide pour valider une adresse email dans un formulaire
 

Annonces Google
Publicité