Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1334 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

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

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

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

n°362087
Gauthier
Posté le 15-04-2003 à 16:22:07  profilanswer
 

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
mood
Publicité
Posté le 15-04-2003 à 16:22:07  profilanswer
 

n°362329
jultey
Posté le 15-04-2003 à 18:22:53  profilanswer
 

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.

n°362345
jultey
Posté le 15-04-2003 à 18:41:19  profilanswer
 

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

n°362362
linuxois1
acharnement = réussite
Posté le 15-04-2003 à 18:59:37  profilanswer
 

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.
n°362370
Gauthier
Posté le 15-04-2003 à 19:03:56  profilanswer
 

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


Message édité par Gauthier le 15-04-2003 à 19:06:06
n°362396
jagstang
Pa Capona ಠ_ಠ
Posté le 15-04-2003 à 19:50:05  profilanswer
 

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

n°362410
linuxois1
acharnement = réussite
Posté le 15-04-2003 à 20:06:30  profilanswer
 


 
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.
n°362455
Gauthier
Posté le 15-04-2003 à 21:00:49  profilanswer
 

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 ..

n°362474
linuxois1
acharnement = réussite
Posté le 15-04-2003 à 21:19:42  profilanswer
 

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.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

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

 

Sujets relatifs
Formulaire email php fonctionnant sous freeprobleme formulaire avec formmail...
[HTML] Question sur un formulaire (tout champs hidden)[HTML] formulaire et liste deroulante
Récupération de champs d'un formulaire créé dynamiquement[java] Trouver l'adresse IP web de sa machine
[PHP] Retrieve de data par formulaire (resolu)Adresse physique...?
besoin d'1 tite explication sur la récup des données d'un formulaire ! 
Plus de sujets relatifs à : formulaire : interdire l'envoit sur adresse email invalide ???


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR