guilty80 | 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 :
- <html>
- <head>
- <title>inscription devpanel</title>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <script type="text/javascript" language="javascript">
- function valid(f) {
- !/^[A-z]*$/.test(f.value)?f.value = f.value.replace(/[^0-9A-z]/g,''):null;
- }
- function envoie(formulaire) {
- if ( (document.getElementById('userName').value.length>0)
- &&(document.getElementById('userPass').value.length>0)
- &&(document.getElementById('game').value.length>0)
- &&(document.getElementById('gameName').value.length>0)
- &&(document.getElementById('slot').value.length>0)
- &&(document.getElementById('public').checked)
- &&(document.getElementById('rcon').value.length>0)
- &&(document.getElementById('tickRate').value.length>0)
- &&(document.getElementById('clientEmail').value.length>0)
- ){
- formlaire.submit();
- }
- else if ( (document.getElementById('userName').value.length>0)
- &&(document.getElementById('userPass').value.length>0)
- &&(document.getElementById('game').value.length>0)
- &&(document.getElementById('gameName').value.length>0)
- &&(document.getElementById('slot').value.length>0)
- &&(document.getElementById('prive').checked)
- &&(document.getElementById('gamePass').value.length>0)
- &&(document.getElementById('rcon').value.length>0)
- &&(document.getElementById('tickRate').value.length>0)
- &&(document.getElementById('clientEmail').value.length>0)
- ){
- formlaire.submit();
- }
- else
- alert('IMPOSSIBLE D\' ENVOYER LE DEMANDE DE LOCATION DE SERVEUR, VOUS AVEZ OUBLIE DE REMPLIR DES CHAMPS OBLIGATOIRES');
- }
- var jeux = new Array; //nouveau tableau
- jeux[0] = new Array("css", "Counter Strike Source" ); //nouveau tableau, on va donc avoir jeux[0][0]="css"
- jeux[1] = new Array("l4d", "Left 4 Dead" );
- jeux[2] = new Array("dod", "Day of Defeat Source" );
- var slot = new Array;
- // css
- slot["css"] = new Array;
- slot["css"][0] = new Array("css6", "6" );
- slot["css"][1] = new Array("css8", "8" );
- slot["css"][2] = new Array("css10", "10" );
- slot["css"][3] = new Array("css11", "11" );
- slot["css"][4] = new Array("css12", "12" );
- slot["css"][5] = new Array("css14", "14" );
- slot["css"][6] = new Array("css16", "16" );
- slot["css"][7] = new Array("css18", "18" );
- slot["css"][8] = new Array("css20", "20" );
- slot["css"][9] = new Array("css22", "22" );
- slot["css"][10] = new Array("css24", "24" );
- //l4d
- slot["l4d"] = new Array;
- slot["l4d"][0] = new Array("l4d8", "8" );
- slot["l4d"][1] = new Array("l4d12", "12" );
- //Dodsource
- slot["dod"] = new Array;
- slot["dod"][0] = new Array("dod6", "6" );
- slot["dod"][1] = new Array("dod8", "8" );
- slot["dod"][2] = new Array("dod10", "10" );
- slot["dod"][3] = new Array("dod11", "11" );
- slot["dod"][4] = new Array("dod12", "12" );
- slot["dod"][5] = new Array("dod14", "14" );
- slot["dod"][6] = new Array("dod16", "16" );
- slot["dod"][7] = new Array("dod18", "18" );
- slot["dod"][8] = new Array("dod20", "20" );
- slot["dod"][9] = new Array("dod22", "22" );
- slot["dod"][10] = new Array("dod24", "24" );
- var tickRate = new Array;
- //css slot1
- tickRate["css6"] = new Array;
- tickRate["css6"][0] = new Array("33", "33" );
- tickRate["css6"][1] = new Array("66", "66" );
- //css slot2
- tickRate["css8"] = new Array;
- tickRate["css8"][0] = new Array("33", "33" );
- tickRate["css8"][1] = new Array("66", "66" );
- //css slot3
- tickRate["css10"] = new Array;
- tickRate["css10"][0] = new Array("33", "33" );
- tickRate["css10"][1] = new Array("66", "66" );
- //css slot4
- tickRate["css11"] = new Array;
- tickRate["css11"][0] = new Array("33", "33" );
- tickRate["css11"][1] = new Array("66", "66" );
- //css slot5
- tickRate["css12"] = new Array;
- tickRate["css12"][0] = new Array("33", "33" );
- tickRate["css12"][1] = new Array("66", "66" );
- //css slot6
- tickRate["css14"] = new Array;
- tickRate["css14"][0] = new Array("33", "33" );
- tickRate["css14"][1] = new Array("66", "66" );
- //css slot7
- tickRate["css16"] = new Array;
- tickRate["css16"][0] = new Array("33", "33" );
- tickRate["css16"][1] = new Array("66", "66" );
- //css slot8
- tickRate["css18"] = new Array;
- tickRate["css18"][0] = new Array("3", "33" );
- tickRate["css18"][1] = new Array("66", "66" );
- //css slot9
- tickRate["css20"] = new Array;
- tickRate["css20"][0] = new Array("33", "33" );
- tickRate["css20"][1] = new Array("66", "66" );
- //css slot10
- tickRate["css22"] = new Array;
- tickRate["css22"][0] = new Array("33", "33" );
- tickRate["css22"][1] = new Array("66", "66" );
- //css slot11
- tickRate["css24"] = new Array;
- tickRate["css24"][0] = new Array("33", "33" );
- tickRate["css24"][1] = new Array("66", "66" );
- //L4d slot1
- tickRate["l4d8"] = new Array;
- tickRate["l4d8"][0] = new Array("33", "33" );
- //l4d slot2
- tickRate["l4d12"] = new Array;
- tickRate["l4d12"][0] = new Array("33", "33" );
- //dod slot1
- tickRate["dod6"] = new Array;
- tickRate["dod6"][0] = new Array("33", "33" );
- tickRate["dod6"][1] = new Array("66", "66" );
- tickRate["dod6"][2] = new Array("100", "100" );
- //dod slot2
- tickRate["dod8"] = new Array;
- tickRate["dod8"][0] = new Array("33", "33" );
- tickRate["dod8"][1] = new Array("66", "66" );
- tickRate["dod8"][2] = new Array("100", "100" );
- //dod slot3
- tickRate["dod10"] = new Array;
- tickRate["dod10"][0] = new Array("33", "33" );
- tickRate["dod10"][1] = new Array("66", "66" );
- tickRate["dod10"][2] = new Array("100", "100" );
- //dod slot4
- tickRate["dod11"] = new Array;
- tickRate["dod11"][0] = new Array("33", "33" );
- tickRate["dod11"][1] = new Array("66", "66" );
- tickRate["dod11"][2] = new Array("100", "100" );
- //dod slot5
- tickRate["dod12"] = new Array;
- tickRate["dod12"][0] = new Array("33", "33" );
- tickRate["dod12"][1] = new Array("66", "66" );
- tickRate["dod12"][2] = new Array("100", "100" );
- //dod slot6
- tickRate["dod14"] = new Array;
- tickRate["dod14"][0] = new Array("33", "33" );
- tickRate["dod14"][1] = new Array("66", "66" );
- tickRate["dod14"][2] = new Array("100", "100" );
- //dod slot7
- tickRate["dod16"] = new Array;
- tickRate["dod16"][0] = new Array("33", "33" );
- tickRate["dod16"][1] = new Array("66", "66" );
- tickRate["dod16"][2] = new Array("100", "100" );
- //dod slot8
- tickRate["dod18"] = new Array;
- tickRate["dod18"][0] = new Array("33", "33" );
- tickRate["dod18"][1] = new Array("66", "66" );
- tickRate["dod18"][2] = new Array("100", "100" );
- //dod slot9
- tickRate["dod20"] = new Array;
- tickRate["dod20"][0] = new Array("33", "33" );
- tickRate["dod20"][1] = new Array("66", "66" );
- tickRate["dod20"][2] = new Array("100", "100" );
- //dod slot10
- tickRate["dod22"] = new Array;
- tickRate["dod22"][0] = new Array("33", "33" );
- tickRate["dod22"][1] = new Array("66", "66" );
- tickRate["dod22"][2] = new Array("100", "100" );
- //dod slot11
- tickRate["dod24"] = new Array;
- tickRate["dod24"][0] = new Array("33", "33" );
- tickRate["dod24"][1] = new Array("66", "66" );
- tickRate["dod24"][2] = new Array("100", "100" );
- function filltheselect(liste, choix)
- {switch (liste)
- {
- case "listejeux":
- raz("listeslot" );
- raz("listetickRate" );
- for (i=0; i<slot[choix].length; i++)
- {
- new_option = new Option(slot[choix][i][1],slot[choix][i][0]);
- document.form_contacts.elements["listeslot"].
- options[document.form_contacts.elements["listeslot"].length]=new_option;
- }
- for (i=0; i<tickRate[choix+"v0"].length; i++)
- {
- new_option = new Option(tickRate[choix+"v0"][i][1],tickRate[choix+"v0"][i][0]);
- document.form_contacts.elements["listetickRate"].options[document.form_contacts.
- elements["listetickRate"].length]=new_option;
- }
- break;
- case "listeslot":
- raz("listetickRate" );
- for (i=0; i<tickRate[choix].length; i++)
- {
- new_option = new Option(tickRate[choix][i][1],tickRate[choix][i][0]);
- document.form_contacts.elements["listetickRate"].options[document.form_contacts.
- elements["listetickRate"].length]=new_option;
- }
- break;
- }
- }
- function raz(liste)
- {l=document.form_contacts.elements[liste].length;
- for (i=l; i>=0; i--)
- document.form_contacts.elements[liste].options[i]=null;
- }
- function changement()
- {
- if (document.getElementById('public').value = "public" )
- document.getElementById('gamePass').disabled=true;
- else
- document.getElementById('gamePass').disabled=false;
- }
- function effacer()
- {
- if (document.forms["form_contacts"].elements["public"].value = "public" )
- {
- document.forms["form_contacts"].elements["gamePass"].value = "";
- }
- }
- function changement2()
- {
- if (document.getElementById('prive').value = "privé" )
- document.getElementById('gamePass').disabled=false;
- else
- document.getElementById('gamePass').disabled=true;
- }
- -->
- </script>
- <style type="text/css">
- <!--
- .Style4 { font-size: 16px;
- font-weight: bold;
- }
- .Style10 {font-size: 18px; font-weight: bold; }
- .Style11 {
- font-size: 36px;
- font-weight: bold;
- }
- -->
- </style>
- </head>
- <body bgcolor="#FFFFFF">
- <div align="center">
- <p align="left" class="Style11">formulaire de location de serveur </p>
- <p align="left" class="Style10"><font color="#FF0000">Les cases marquées d'une * sont obligatoires </font> </p>
- <form action="envoi.php" method="post" name="form_contacts" id="form_contacts" enctype="multipart/form-data" onSubmit="return checkEmail(this)">
- <p align="left" class="Style4">*Nom d'utilisateur (pour le ftp et le monitoring du site) :
- <input type="text" onkeyup="valid(this)" onblur="valid(this)" name="userName" id="userName" >
- </p>
- <p align="left" class="Style4">*Mot de passe (pour le ftp et le monitoring du site) :
- <input type="password" onkeyup="valid(this)" onblur="valid(this)" name="userPass" id="userPass">
- </p>
- <p align="left" class="Style4">*Quel jeux voulez vous héberger sur votre serveur ?
- <select name="listejeux" id="game" onChange='filltheselect(this.name, this.value)'>
- <script language="javascript">
- for (i=0; i<jeux.length; i++)
- document.write("<option value=\"" +jeux[i][0]+ "\">" +jeux[i][1]);
- </script>
- </select>
- <br>
- <br>
- *Nombre de slots ?
- <select name="listeslot" id="slot" onChange='filltheselect(this.name, this.value)'>
- <script language="javascript">
- for (i=0; i<slot["css"].length; i++)
- document.write("<option value=\"" +slot["css"][i][0]+ "\">" +slot["css"][i][1]);
- </script>
- </select>
- <br>
- <br>
- *Tickrate souhaité :
- <select name="listetickRate" id="tickRate" onChange='filltheselect(this.name, this.value)'>
- <script language="javascript">
- for (i=0; i<tickRate["css6"].length; i++)
- document.write("<option value=\"" +tickRate["css6"][i][0]+ "\">" +tickRate["css6"][i][1]);
- </script>
- </select>
- </p>
- <p align="left" class="Style4">*Nom du Serveur :
- <input type="text" name="gameName" size="60" value="Server by Devpanel" id="gameName" onfocus="this.value='';"/>
- </p>
- <p align="left" class="Style4">*Serveur public ou privé :
- <input type="radio" name="public" id="public" value="public" onclick="changement(); effacer()">public
- <input type="radio" name="public" id="prive" value="privé" onclick="changement2()">privé
- </p>
- <p align="left" class="Style4">*Mot de pass du serveur :
- <input name="gamePass" type="text" onkeyup="valid(this)" onblur="valid(this)" id="gamePass">
- </p>
- <p align="left" class="Style4">*Rcon password (pour éxécuter les commandes sur le serveur) :
- <input name="rcon" type="text" onkeyup="valid(this)" onblur="valid(this)" id="rcon">
- </p>
- <p align="left"><span class="Style4">*Adresse email à laquelle vous souhaitez envoyer les informations sur l'état du serveur :
- <input name="clientEmail" type="text" id="clientEmail" size="50">
- </span></p>
- <p align="left">
- <input name="envoyer" type="button" id="envoyer" value="Envoyer" onClick="envoie(this.form)">
- <input name="retablir" type="reset" id="retablir" value="Rétablir">
- </p>
- </form>
- <p> </p>
- </div>
- </body>
- </html>
|
je sais que c'est long mais si quelqu'un a du temps à perdre pour un newbie comme moi je lui serais reconnaissant. |