formulaire : interdire l'envoit sur adresse email invalide ???

formulaire : interdire l'envoit sur adresse email invalide ??? - PHP - Programmation

Marsh Posté le 15-04-2003 à 16:22:07    

voila je cherche un code pour interdire l'envoi du formulaire si l'email est incorrecte ???


Message édité par Gauthier le 15-04-2003 à 16:27:39
Reply

Marsh Posté le 15-04-2003 à 16:22:07   

Reply

Marsh Posté le 15-04-2003 à 18:22:53    

gauthier a écrit :

voila je cherche un code pour interdire l'envoi du formulaire si l'email est incorrecte ???


 
C'est pas plutot du javascript ?
Je crois pouvoir dire sans trop me tromper qu'il y a plein de scripts gratuits qui t'attendent sur le net.

Reply

Marsh Posté le 15-04-2003 à 18:41:19    

J'avais fait ces 2 fonctions. A tester...
 

Code :
  1. //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  2. //Verifie les emails de n champs QUE SI ILS SONT REMPLIS
  3. //et met le focus sur le dernier faux
  4. // LE FORM DoIT S'APPELLER f
  5. function verif_mail_facult()
  6. {
  7. //Tableau des valeurs
  8. var arg_param = verif_mail_facult.arguments ;
  9. //Nombre d'arguments passés à la fonction
  10. var arg_nb = arg_param.length ;
  11. //Variable qui sera le drapeau d'une erreur
  12. var mon_drapeau = 0 ;
  13. //boucle pour chaque argument dans le sens inverse
  14. for (var i = arg_nb - 1; i >= 0 ; i--)
  15. {
  16. //On initialise les valeurs
  17.  var arobase = 0 ;
  18.  var point = 0 ;
  19.  var espace = 0 ;
  20. //Chaine a tester
  21.  var param = eval('document.f.'+arg_param[i]+'.value') ;
  22. //si il y a des caracteres
  23.  if(param != 0)
  24.  {
  25.  //Test pour tous les caractères
  26.   for (var k = 0; k < param.length; k++)
  27.   {
  28.    var c = param.substring(k, k+1) ;
  29.   //Test de l'arobase
  30.    if(c == "@" )
  31.     arobase = arobase + 1  ;
  32.   //Test du point
  33.    if(c == "." )
  34.     point = point + 1  ;
  35.   //Test de l'espace
  36.    if(c == " " )
  37.     espace = espace + 1  ;
  38.   }//for caractere
  39.  //test de la chaine de caractere
  40.   if(arobase != 1 || point == 0 || espace != 0)
  41.   {
  42.   //on incrémente mon_drapeau
  43.    mon_drapeau++ ;
  44.   //on efface le champ faux
  45.    var mon_champ = eval('document.f.' +arg_param[i]) ;
  46.    mon_champ.value = '' ;
  47.   //on met le focus au champ faux
  48.    mon_champ.focus() ;
  49.   }//if caractere
  50.  }//if si il y a des caracteres
  51. }//for chaine a tester
  52. //valeur de retour
  53. if( mon_drapeau == 0 )
  54.  return true ;
  55. else
  56.  return false ;
  57. }//verif_mail_facult
  58. //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  59. //vérifie les emails de n champs OBLIGATOIRES
  60. //et met le focus sur le dernier faux
  61. function verif_mail()
  62. {
  63. //Tableau des valeurs
  64. var arg_param = verif_mail.arguments ;
  65. //Nombre d'arguments passés à la fonction
  66. var arg_nb = arg_param.length ;
  67. //Variable qui sera le drapeau d'une erreur
  68. var mon_drapeau = 0 ;
  69. //boucle pour chaque argument dans le sens inverse
  70. for (var i = arg_nb - 1; i >= 0 ; i--)
  71. {
  72. //On initialise les valeurs
  73.  var arobase = 0 ;
  74.  var point = 0 ;
  75.  var espace = 0 ;
  76. //Chaine a tester
  77.  var param = eval('document.f.'+arg_param[i]+'.value') ;
  78. //Test pour tous les caractères
  79.  for (var k = 0; k < param.length; k++)
  80.  {
  81.   var c = param.substring(k, k+1) ;
  82.  //Test de l'arobase
  83.   if(c == "@" )
  84.    arobase = arobase + 1  ;
  85.  //Test du point
  86.   if(c == "." )
  87.    point = point + 1  ;
  88.  //Test de l'espace
  89.   if(c == " " )
  90.    espace = espace + 1  ;
  91.  }//for caractere
  92. //test de la chaine de caractere
  93.  if(arobase != 1 || point == 0 || espace != 0)
  94.  {
  95.  //on incrémente mon_drapeau
  96.   mon_drapeau++ ;
  97.  //on efface le champ faux
  98.   var mon_champ = eval('document.f.' +arg_param[i]) ;
  99.   mon_champ.value = '' ;
  100.  //on met le focus au champ faux
  101.   mon_champ.focus() ;
  102.  }//if caractere
  103. }//for chaine a tester
  104. //valeur de retour
  105. if( mon_drapeau == 0 )
  106.  return true ;
  107. else
  108.  return false ;
  109. }//verif_mail

Reply

Marsh Posté le 15-04-2003 à 18:59:37    

jultey a écrit :


 
C'est pas plutot du javascript ?
Je crois pouvoir dire sans trop me tromper qu'il y a plein de scripts gratuits qui t'attendent sur le net.


 
Voila cooment faire :
 
<Script LANGUAGE="JavaScript">  
 
function verif_email() {
 
// Fonction qui vérifie que le champ email à été d'une part bien saisi, et d'autre bien conforme à aux adresse mail décrite dans je ne sais plus quelle RFC.
 
if (document.form1.email.value=="" ) {
 
                (document.form1.email.focus());
                alert ('Vous devez saisir le champ Adresse Email!';)
                return;
        }
 
 
 
 
        if (document.form1.email.value!="" ) {
 
              var email=document.form1.email.value.toLowerCase()
 
              var reg = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}[.][a-zA-Z0-9]{2,4}$/
 
              var resultat = reg.exec(email);
        }
              if (resultat==null) {
 
                  (document.form1.email.select());
                  alert ('ADRESSE EMAIL INVALIDE';)  
                  return;
              }
 
 
               var premiercar = email.substring(0,1);
                                        if (premiercar == "-" || premiercar == "'" ||  premiercar == "." ||  premiercar == "_" ){
 
                                               var BadCar=true;
                                        }
 
                                        var derniercar = email.substring(email.length-1,email.length);
                                        if (derniercar == "-" || derniercar == "'" || derniercar == "." || derniercar == "_" ) {
 
                                               var BadCar=true;
                                        }
 
                                         if (BadCar==true) {
 
                  (document.form1.email.select());
                  alert ('ADRESSE EMAIL INVALIDE';)
                                                                                  return;
               }
 
 
 
                else  
 
                      document.form1.submit();
                }
 
 
</Script>


---------------
Linuxois1 ex- Linuxois pour perte de mot de passe et @ adresse mail n'existant plus.
Reply

Marsh Posté le 15-04-2003 à 19:03:56    

je met ca dans mon formulaire ???
http://uniteloverval.behostings.be [...] _diver.php


Message édité par Gauthier le 15-04-2003 à 19:06:06
Reply

Marsh Posté le 15-04-2003 à 19:50:05    

Attention, le JS peut-être désactivé. De plus, des noms de domaines fantaisistes peuvent être donné. Par exemple :
 
ddddddd@ssssssssss.com
 
sera considéré comme une adresse valide.
 
Il vaut mieux alors utiliser une fonction PHP pour tester le nom de domaine. Il doit avoir ça ici
 
http://dev.nexen.net

Reply

Marsh Posté le 15-04-2003 à 20:06:30    


 
Je t'ai corrigé ton code et integré mon script java dedans, je l'ai testé et il fonctionne :
-**********************************-
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>form_diver</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
 
<body bgcolor="#CCCCCC">
 
<Script LANGUAGE="JavaScript">
 
function verif_email() {
 
// Fonction qui vérifie que le champ email à été d'une part bien saisi, et d'autre bien conforme à aux adresse mail décrite dans je ne sais plus quelle RFC.
 
if (document.form1.email.value=="" ) {
 
               (document.form1.email.focus());
               alert ('Vous devez saisir le champ Adresse Email!';)
               return;
}
 
       if (document.form1.email.value!="" ) {
 
             var email=document.form1.email.value.toLowerCase()
 
             var reg = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}[.][a-zA-Z0-9]{2,4}$/
 
             var resultat = reg.exec(email);
}
             if (resultat==null) {
 
                 (document.form1.email.select());
                 alert ('ADRESSE EMAIL INVALIDE';)
                 return;
             }
 
 
              var premiercar = email.substring(0,1);
                                       if (premiercar == "-" || premiercar == "'" ||  premiercar == "." ||  premiercar == "_" ){
 
                                              var BadCar=true;
                                       }
 
                                       var derniercar = email.substring(email.length-1,email.length);
                                       if (derniercar == "-" || derniercar == "'" || derniercar == "." || derniercar == "_" ) {
 
                                              var BadCar=true;
                                       }
 
                                        if (BadCar==true) {
 
                 (document.form1.email.select());
                 alert ('ADRESSE EMAIL INVALIDE';)
                 return;
              }
 
 
 
               else  {
 
                     document.form1.submit();
 
              }
}
</Script>
 
 
 
 
<form action="http://uniteloverval.behostings.be/cgi-bin/formmail/formmail-vf.pl" method="post" name="form1">
 
  <p><em><font face="Arial, Helvetica, sans-serif">
    <input type="hidden" name="recipient" value="uniteloverval@hotmail.com">
    <input type=hidden name="subject" value="Résèrvation T-Shirt">
    <input type=hidden name="required" value="Nom,Prenom,Section,Reservation">
    <input type=hidden name="print_config" value="Nom,email">
    <input type=hidden name="env_report" value="HTTP_USER_AGENT,REMOTE_HOST">
    <input type=hidden name="print_blank_fields" value="1">
    <input type=hidden name="redirect" value="http://uniteloverval.behostings.be/_pages/form_ok.htm">
    </font></em></p>
  <p><font face="Arial, Helvetica, sans-serif"> </font></p>
  <font face="Arial, Helvetica, sans-serif"><p><em>Votre Nom
    <input type="text" name="Nom">
    </em></p>
  <p><em> Votre Prenom
    <input type="text" name="Prenom">
    </em></p>
  <p><em>Votre section
    <select name="Section" >
      <option selected>Nuton</option>
      <option>Louveteau</option>
      <option>Lutin</option>
      <option>Scout</option>
      <option>Guide</option>
      <option>Pionnier</option>
    </select>
    </em></p>
  <p><em>Je voudrais reserver
    <input name="Reservation" type="text" maxlength="2" size="10">
    T-shirt(s)</em></p>
  <p><em>E-mail
    <input type=text name="email" size="40">
    (facultatif mais conseilé pour la <br>
    confirmation de la reservation)</em></p>
  <p><em>Numero de telephone
    <input name="Telephone" type="text" id="Telephones" maxlength="13">
    (facultatif) </em></p>
  </font>
  <p align="center">
  <input type="button" name="bouton" value="Envoyer" onclick="javascript:verif_email()" style="color: white; background-color:#8AA0B6; border=0">
</p>
</form>
</body>
</html>
 
-*****************************************-
 
 
Maintenant, tu va pouvoir :bounce:  de tes propres ailes.
 
Tchao.  :hello:


---------------
Linuxois1 ex- Linuxois pour perte de mot de passe et @ adresse mail n'existant plus.
Reply

Marsh Posté le 15-04-2003 à 21:00:49    

merci bien a tous pour ce qu'il du java qui peut etre desactivé j'en ai dega sur mon site alors c pas vraiment tres grave mais merci qd mm que je serais plus avancé en php je tenterais peut etre l'affaire ..

Reply

Marsh Posté le 15-04-2003 à 21:19:42    

gauthier a écrit :

merci bien a tous pour ce qu'il du java qui peut etre desactivé j'en ai dega sur mon site alors c pas vraiment tres grave mais merci qd mm que je serais plus avancé en php je tenterais peut etre l'affaire ..


 
 :fou:  
C'est pas sympa! je me suis casse le c... pour toi pour te fabriquer un script sur mesure et tu ne l'utilise meme pas.
 
Qu'es que tu racontes, ta pas du tout de javascript sur ton site.
 
A bon entendeur, salut!  :fou:  


---------------
Linuxois1 ex- Linuxois pour perte de mot de passe et @ adresse mail n'existant plus.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed