Vérification email

Vérification email - HTML/CSS - Programmation

Marsh Posté le 19-07-2011 à 14:31:30    

Bonjour à tous et a toutes,
Je suis en train de créer un formulaire de location de serveur (à but purement personnel, afin de savoir le faire).
donc voici les différentes étape
formulaire.php récupère les infos nécessaires qui les envoie à envoi.php
envoi.php vérifie les infos coté serveur (pour voir si ya pas un mal qui aurais désactivé javascript pour mettre de mauvaise informatio)
oui on lance install.sh dans l'envoi.php avec les variable récupérées du formulaire.
 
Ayant découvert la puissance de javascript récemment pour les formulaires j'ai décidé de codé un peu de javascript dans mon formulaire afin d'aider le client à remplir les champs et à mettre une pseudo sécurité à tout les utilisateurs.
donc sans plus attendre voici le soucis j'ai réussit à la faire la plus part des choses que je voulais mais pour la vérification email je coince. J'ai testé beaucoup de script venant du net mais aucun n'est adapté à mon formulaire actuel
voici pourquoi je viens ici afin de trouver de l'aide. J'aimerais que la vérification de l'email se fasse à la validation et non pas de rajouter un bouton que l'utilisateur serais forcé de clic pour déverrouiller le boutton submit.
 
voici le code de formulaire.php
 

Code :
  1. <html>
  2. <head>
  3. <title>inscription devpanel</title>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  5. <script type="text/javascript" language="javascript">
  6. function valid(f) {
  7. !/^[A-z]*$/.test(f.value)?f.value = f.value.replace(/[^0-9A-z]/g,''):null;
  8. }
  9. function envoie(formulaire) {
  10. if ( (document.getElementById('userName').value.length>0)
  11. &&(document.getElementById('userPass').value.length>0)
  12. &&(document.getElementById('game').value.length>0)
  13. &&(document.getElementById('gameName').value.length>0)
  14. &&(document.getElementById('slot').value.length>0)
  15. &&(document.getElementById('public').checked)
  16. &&(document.getElementById('rcon').value.length>0)
  17. &&(document.getElementById('tickRate').value.length>0)
  18. &&(document.getElementById('clientEmail').value.length>0)
  19. ){
  20. formlaire.submit();
  21. }
  22. else if ( (document.getElementById('userName').value.length>0)
  23. &&(document.getElementById('userPass').value.length>0)
  24. &&(document.getElementById('game').value.length>0)
  25. &&(document.getElementById('gameName').value.length>0)
  26. &&(document.getElementById('slot').value.length>0)
  27. &&(document.getElementById('prive').checked)
  28. &&(document.getElementById('gamePass').value.length>0)
  29. &&(document.getElementById('rcon').value.length>0)
  30. &&(document.getElementById('tickRate').value.length>0)
  31. &&(document.getElementById('clientEmail').value.length>0)
  32. ){
  33. formlaire.submit();
  34. }
  35. else
  36. alert('IMPOSSIBLE D\' ENVOYER LE DEMANDE DE LOCATION DE SERVEUR, VOUS AVEZ OUBLIE DE REMPLIR DES CHAMPS OBLIGATOIRES');
  37. }
  38. var jeux = new Array; //nouveau tableau
  39. jeux[0] = new Array("css", "Counter Strike Source" ); //nouveau tableau, on va donc avoir jeux[0][0]="css"
  40. jeux[1] = new Array("l4d", "Left 4 Dead" );
  41. jeux[2] = new Array("dod", "Day of Defeat Source" );
  42. var slot = new Array;
  43. // css
  44. slot["css"] = new Array;
  45. slot["css"][0] = new Array("css6", "6" );
  46. slot["css"][1] = new Array("css8", "8" );
  47. slot["css"][2] = new Array("css10", "10" );
  48. slot["css"][3] = new Array("css11", "11" );
  49. slot["css"][4] = new Array("css12", "12" );
  50. slot["css"][5] = new Array("css14", "14" );
  51. slot["css"][6] = new Array("css16", "16" );
  52. slot["css"][7] = new Array("css18", "18" );
  53. slot["css"][8] = new Array("css20", "20" );
  54. slot["css"][9] = new Array("css22", "22" );
  55. slot["css"][10] = new Array("css24", "24" );
  56. //l4d
  57. slot["l4d"] = new Array;
  58. slot["l4d"][0] = new Array("l4d8", "8" );
  59. slot["l4d"][1] = new Array("l4d12", "12" );
  60. //Dodsource
  61. slot["dod"] = new Array;
  62. slot["dod"][0] = new Array("dod6", "6" );
  63. slot["dod"][1] = new Array("dod8", "8" );
  64. slot["dod"][2] = new Array("dod10", "10" );
  65. slot["dod"][3] = new Array("dod11", "11" );
  66. slot["dod"][4] = new Array("dod12", "12" );
  67. slot["dod"][5] = new Array("dod14", "14" );
  68. slot["dod"][6] = new Array("dod16", "16" );
  69. slot["dod"][7] = new Array("dod18", "18" );
  70. slot["dod"][8] = new Array("dod20", "20" );
  71. slot["dod"][9] = new Array("dod22", "22" );
  72. slot["dod"][10] = new Array("dod24", "24" );
  73. var tickRate = new Array;
  74. //css slot1
  75. tickRate["css6"] = new Array;
  76. tickRate["css6"][0] = new Array("33", "33" );
  77. tickRate["css6"][1] = new Array("66", "66" );
  78. //css slot2
  79. tickRate["css8"] = new Array;
  80. tickRate["css8"][0] = new Array("33", "33" );
  81. tickRate["css8"][1] = new Array("66", "66" );
  82. //css slot3
  83. tickRate["css10"] = new Array;
  84. tickRate["css10"][0] = new Array("33", "33" );
  85. tickRate["css10"][1] = new Array("66", "66" );
  86. //css slot4
  87. tickRate["css11"] = new Array;
  88. tickRate["css11"][0] = new Array("33", "33" );
  89. tickRate["css11"][1] = new Array("66", "66" );
  90. //css slot5
  91. tickRate["css12"] = new Array;
  92. tickRate["css12"][0] = new Array("33", "33" );
  93. tickRate["css12"][1] = new Array("66", "66" );
  94. //css slot6
  95. tickRate["css14"] = new Array;
  96. tickRate["css14"][0] = new Array("33", "33" );
  97. tickRate["css14"][1] = new Array("66", "66" );
  98. //css slot7
  99. tickRate["css16"] = new Array;
  100. tickRate["css16"][0] = new Array("33", "33" );
  101. tickRate["css16"][1] = new Array("66", "66" );
  102. //css slot8
  103. tickRate["css18"] = new Array;
  104. tickRate["css18"][0] = new Array("3", "33" );
  105. tickRate["css18"][1] = new Array("66", "66" );
  106. //css slot9
  107. tickRate["css20"] = new Array;
  108. tickRate["css20"][0] = new Array("33", "33" );
  109. tickRate["css20"][1] = new Array("66", "66" );
  110. //css slot10
  111. tickRate["css22"] = new Array;
  112. tickRate["css22"][0] = new Array("33", "33" );
  113. tickRate["css22"][1] = new Array("66", "66" );
  114. //css slot11
  115. tickRate["css24"] = new Array;
  116. tickRate["css24"][0] = new Array("33", "33" );
  117. tickRate["css24"][1] = new Array("66", "66" );
  118. //L4d slot1
  119. tickRate["l4d8"] = new Array;
  120. tickRate["l4d8"][0] = new Array("33", "33" );
  121. //l4d slot2
  122. tickRate["l4d12"] = new Array;
  123. tickRate["l4d12"][0] = new Array("33", "33" );
  124. //dod slot1
  125. tickRate["dod6"] = new Array;
  126. tickRate["dod6"][0] = new Array("33", "33" );
  127. tickRate["dod6"][1] = new Array("66", "66" );
  128. tickRate["dod6"][2] = new Array("100", "100" );
  129. //dod slot2
  130. tickRate["dod8"] = new Array;
  131. tickRate["dod8"][0] = new Array("33", "33" );
  132. tickRate["dod8"][1] = new Array("66", "66" );
  133. tickRate["dod8"][2] = new Array("100", "100" );
  134. //dod slot3
  135. tickRate["dod10"] = new Array;
  136. tickRate["dod10"][0] = new Array("33", "33" );
  137. tickRate["dod10"][1] = new Array("66", "66" );
  138. tickRate["dod10"][2] = new Array("100", "100" );
  139. //dod slot4
  140. tickRate["dod11"] = new Array;
  141. tickRate["dod11"][0] = new Array("33", "33" );
  142. tickRate["dod11"][1] = new Array("66", "66" );
  143. tickRate["dod11"][2] = new Array("100", "100" );
  144. //dod slot5
  145. tickRate["dod12"] = new Array;
  146. tickRate["dod12"][0] = new Array("33", "33" );
  147. tickRate["dod12"][1] = new Array("66", "66" );
  148. tickRate["dod12"][2] = new Array("100", "100" );
  149. //dod slot6
  150. tickRate["dod14"] = new Array;
  151. tickRate["dod14"][0] = new Array("33", "33" );
  152. tickRate["dod14"][1] = new Array("66", "66" );
  153. tickRate["dod14"][2] = new Array("100", "100" );
  154. //dod slot7
  155. tickRate["dod16"] = new Array;
  156. tickRate["dod16"][0] = new Array("33", "33" );
  157. tickRate["dod16"][1] = new Array("66", "66" );
  158. tickRate["dod16"][2] = new Array("100", "100" );
  159. //dod slot8
  160. tickRate["dod18"] = new Array;
  161. tickRate["dod18"][0] = new Array("33", "33" );
  162. tickRate["dod18"][1] = new Array("66", "66" );
  163. tickRate["dod18"][2] = new Array("100", "100" );
  164. //dod slot9
  165. tickRate["dod20"] = new Array;
  166. tickRate["dod20"][0] = new Array("33", "33" );
  167. tickRate["dod20"][1] = new Array("66", "66" );
  168. tickRate["dod20"][2] = new Array("100", "100" );
  169. //dod slot10
  170. tickRate["dod22"] = new Array;
  171. tickRate["dod22"][0] = new Array("33", "33" );
  172. tickRate["dod22"][1] = new Array("66", "66" );
  173. tickRate["dod22"][2] = new Array("100", "100" );
  174. //dod slot11
  175. tickRate["dod24"] = new Array;
  176. tickRate["dod24"][0] = new Array("33", "33" );
  177. tickRate["dod24"][1] = new Array("66", "66" );
  178. tickRate["dod24"][2] = new Array("100", "100" );
  179. function filltheselect(liste, choix)
  180. {switch (liste)
  181.    {
  182.    case "listejeux":
  183.       raz("listeslot" );
  184.       raz("listetickRate" );
  185.       for (i=0; i<slot[choix].length; i++)
  186.          {
  187.          new_option = new Option(slot[choix][i][1],slot[choix][i][0]);
  188.          document.form_contacts.elements["listeslot"].
  189. options[document.form_contacts.elements["listeslot"].length]=new_option;
  190.          }
  191.       for (i=0; i<tickRate[choix+"v0"].length; i++)
  192.          {
  193.          new_option = new Option(tickRate[choix+"v0"][i][1],tickRate[choix+"v0"][i][0]);
  194.          document.form_contacts.elements["listetickRate"].options[document.form_contacts.
  195. elements["listetickRate"].length]=new_option;
  196.          }
  197.       break;
  198.    case "listeslot":
  199.       raz("listetickRate" );
  200.       for (i=0; i<tickRate[choix].length; i++)
  201.          {
  202.          new_option = new Option(tickRate[choix][i][1],tickRate[choix][i][0]);
  203.          document.form_contacts.elements["listetickRate"].options[document.form_contacts.
  204. elements["listetickRate"].length]=new_option;
  205.          }
  206.       break;
  207.    }
  208. }
  209. function raz(liste)
  210. {l=document.form_contacts.elements[liste].length;
  211. for (i=l; i>=0; i--)
  212.    document.form_contacts.elements[liste].options[i]=null;
  213. }
  214. function changement()
  215. {
  216.    if (document.getElementById('public').value = "public" )
  217.       document.getElementById('gamePass').disabled=true;
  218.    else
  219.       document.getElementById('gamePass').disabled=false;
  220. }
  221. function effacer()
  222. {
  223. if (document.forms["form_contacts"].elements["public"].value = "public" )
  224. {
  225. document.forms["form_contacts"].elements["gamePass"].value = "";
  226. }
  227. }
  228. function changement2()
  229. {
  230.    if (document.getElementById('prive').value = "privé" )
  231.       document.getElementById('gamePass').disabled=false;
  232.    else
  233.       document.getElementById('gamePass').disabled=true;
  234. }
  235. -->
  236. </script>
  237. <style type="text/css">
  238. <!--
  239. .Style4 { font-size: 16px;
  240. font-weight: bold;
  241. }
  242. .Style10 {font-size: 18px; font-weight: bold; }
  243. .Style11 {
  244. font-size: 36px;
  245. font-weight: bold;
  246. }
  247. -->
  248. </style>
  249. </head>
  250. <body bgcolor="#FFFFFF">
  251. <div align="center">
  252. <p align="left" class="Style11">formulaire de location de serveur </p>
  253. <p align="left" class="Style10"><font color="#FF0000">Les cases marqu&eacute;es d'une * sont obligatoires </font> </p>
  254. <form action="envoi.php" method="post" name="form_contacts" id="form_contacts" enctype="multipart/form-data" onSubmit="return checkEmail(this)">
  255. <p align="left" class="Style4">*Nom d'utilisateur (pour le ftp et le monitoring du site) :
  256. <input type="text" onkeyup="valid(this)" onblur="valid(this)" name="userName" id="userName" >
  257. </p>
  258. <p align="left" class="Style4">*Mot de passe (pour le ftp et le monitoring du site) :
  259. <input type="password" onkeyup="valid(this)" onblur="valid(this)" name="userPass" id="userPass">
  260. </p>
  261. <p align="left" class="Style4">*Quel jeux voulez vous héberger sur votre serveur ?
  262. <select name="listejeux" id="game" onChange='filltheselect(this.name, this.value)'>
  263.    <script language="javascript">
  264.    for (i=0; i<jeux.length; i++)
  265.       document.write("<option value=\"" +jeux[i][0]+ "\">" +jeux[i][1]);
  266.    </script>
  267. </select>
  268. <br>
  269. <br>
  270. *Nombre de slots ?
  271. <select name="listeslot" id="slot" onChange='filltheselect(this.name, this.value)'>
  272.    <script language="javascript">
  273.    for (i=0; i<slot["css"].length; i++)
  274.       document.write("<option value=\"" +slot["css"][i][0]+ "\">" +slot["css"][i][1]);
  275.    </script>
  276. </select>
  277. <br>
  278. <br>
  279. *Tickrate souhaité :
  280. <select name="listetickRate" id="tickRate" onChange='filltheselect(this.name, this.value)'>
  281.    <script language="javascript">
  282.    for (i=0; i<tickRate["css6"].length; i++)
  283.       document.write("<option value=\"" +tickRate["css6"][i][0]+ "\">" +tickRate["css6"][i][1]);
  284.    </script>
  285. </select>
  286. </p>
  287. <p align="left" class="Style4">*Nom du Serveur :
  288. <input type="text" name="gameName" size="60" value="Server by Devpanel" id="gameName" onfocus="this.value='';"/>
  289. </p>
  290. <p align="left" class="Style4">*Serveur public ou privé :
  291. <input type="radio" name="public" id="public" value="public" onclick="changement(); effacer()">public
  292. <input type="radio" name="public" id="prive" value="privé" onclick="changement2()">privé
  293. </p>
  294. <p align="left" class="Style4">*Mot de pass du serveur :
  295. <input name="gamePass" type="text" onkeyup="valid(this)" onblur="valid(this)" id="gamePass">
  296. </p>
  297. <p align="left" class="Style4">*Rcon password (pour éxécuter les commandes sur le serveur) :
  298. <input name="rcon" type="text" onkeyup="valid(this)" onblur="valid(this)" id="rcon">
  299. </p>
  300. <p align="left"><span class="Style4">*Adresse email à laquelle vous souhaitez envoyer les informations sur l'&eacute;tat du serveur :
  301. <input name="clientEmail" type="text" id="clientEmail" size="50">
  302. </span></p>
  303. <p align="left">
  304. <input name="envoyer" type="button" id="envoyer" value="Envoyer" onClick="envoie(this.form)">
  305. <input name="retablir" type="reset" id="retablir" value="R&eacute;tablir">
  306. </p>
  307. </form>
  308. <p>&nbsp;</p>
  309. </div>
  310. </body>
  311. </html>


 
je sais que c'est long mais si quelqu'un a du temps à perdre pour un newbie comme moi je lui serais reconnaissant.

Reply

Marsh Posté le 19-07-2011 à 14:31:30   

Reply

Marsh Posté le 19-07-2011 à 17:13:49    

Je ne vois pas la difficulte. Il suffit de modifier ta fonction "envoie" pour ajouter une condition style "&&EmailValide(document.getElementById('clientEmail').value)" dans tes deux blocs if puis de trouver une fonction qui renvoie un booleen si l'email est valide pour une chaine de caractere en entree. Ceci peut se faire a partir d'une expression régulière (RexEx) et tu va trouver des 100aines d'exemple sur le net d'une fonction de ce genre en JS.
Par exemple ici

Reply

Marsh Posté le 19-07-2011 à 17:16:39    

oui mais du coup çà va envoyer l'erreur :
alert('IMPOSSIBLE D\' ENVOYER LE DEMANDE DE LOCATION DE SERVEUR, VOUS AVEZ OUBLIE DE REMPLIR DES CHAMPS OBLIGATOIRES');
au lieu de adresse email incorrect

Reply

Marsh Posté le 19-07-2011 à 17:21:13    

Si tu prend la peine de rajouter un  

Code :
  1. else if (!EmailValide(document.getElementById('clientEmail').value)) {
  2. alert ("email invalide" )
  3. }


avant le else, surement pas. La non plus je ne vois pas la difficulte ou le probleme...
[edit] mauvaise balise code [/edit]


Message édité par fred777888999 le 19-07-2011 à 17:21:55
Reply

Marsh Posté le 19-07-2011 à 20:59:15    

j'ai essayer avec le else if et la fonction de ton liens et çà marche pas jdois surement avoir fait quelque chose de travers (j'ai modif le nom de la fonction en EmailValide mais rien à faire)

Reply

Marsh Posté le 20-07-2011 à 17:40:18    

C'est a dire ca ne marche pas ? Ca affiche une erreur intempestive ? Ca ne verifie pas correctement ton email ? Ajoute des traces a base de 'alert' dans les if et la fonction EmailValide pour voir ou tu passes, utilise firefox et firebug pour mettre des points d'arrets et tu devrais t'en sortir...

Reply

Marsh Posté le 24-07-2011 à 00:55:59    

et bien le formulaire ne s'envoie pas

Reply

Sujets relatifs:

Leave a Replay

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