Je viens de faire un test. Y a pas d'erreurs !!
Mais il ne se passe rien...
montre nous ta nouvelle fonction et les appels de tes formulaires stp
Il te faut un bouton avec un attribut type ayant la valeur submit.
Grâce à ça, tu pourras valider ton formulaire.
Cordialement,
Patouche
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <input type="button" name="valider" value="OK" onClick="controle()"/>
Code js : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <SCRIPT LANGUAGE="JavaScript"> function controle(form) { if (form == 'client'){ var cp = document.client.codePostalClient.value; var telF = document.client.numTelFixe.value; var telP = document.client.numTelPort.value; if ((cp < 1000) || (cp >= 100000)) { alert("code postal erroné"); } ...
Qu'est ce que c'est?
C'est un input permettant de valider ton formulaire sans passer par js :
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2<input type="submit" value="valider le formulaire" />
Sinon pour ton problème, il ne se passe rien car tu utilises onClick="controle()" alors que ta fonction attend un paramètre qui est le nom de ton formulaire. Ainsi pour le formulaire client, tu devras ecrire onClick="controle('client')" ce qui lancera la validation de ton formulaire client contenu dans ton bloc correspondant dans ta fonction js
Merci bien.
Désolé de t'embêter, mais j'ai encore une question ^^
Quand je valide les informations, y'a un gros temps d'attente puis message d'erreur, Appache http serveur doit fermer.
Je te mets le code de la page appelante et celle appelée :
page collecte qui appelle :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 <?php include "haut.php"; include "fonction.php"; ?> <form name="client" method="post" action="proprietaire.php"> <input type="radio" name="puissance[]" value="Inf"/>Puissance Inférieure à 36 kVA<input type="radio" name="puissance[]" value="Sup"/>Puissance comprise entre 36 et 250 kVA<br/> Entrez votre nom : <input type="text" name="nom"/> <br/> Entrez votre prenom : <input type="text" name="prenom"/><br/> ou la raison sociale de votre entreprise (si vous êtes une entreprise) : <input type="text" name="repEntreprise"/><br/> Entrez votre adresse : <input type="text" name="adresseClient"/><br/> Entrez le nom de votre commune : <input type="text" name="communeClient"/><br/> Entrez votre code postal : <input type="text" name="codePostalClient"/><br/> Entrez votre numéro de téléphone fixe : <input type="text" name="numTelFixe"/><br/> Entrez votre numéro de téléphone portable : <input type="text" name="numTelPort"/><br/> Entrez votre adresse e-mail : <input type="text" name="mailClient"/><br/> Entrez le nom de votre interlocuteur : <input type="text" name="nomInterlocuteur"/><br/> <input type="radio" name="exploitation[]" value="solo"/>Demande à son propre compte<input type="radio" name="exploitation[]" value="mandataire"/>Demande en tant que mandataire<br/> <input type="button" name="valider" value="OK" onClick="controle('client')"/><input type="reset" value="Annuler"/></br> </form> <?php include "bas.php"; ?>
page propriétaire qui est appellée :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 <?php include "haut.php"; include "fonction.php"; ?> <form name="proprietaire" method="post" action="situationGeographique.php"> Entrez votre nom : <input type="text" name="nom"/> <br/> Entrez votre prenom : <input type="text" name="prenom"/><br/> ou la raison sociale de votre entreprise (si vous êtes une entreprise) : <input type="text" name="repEntreprise"/><br/> Entrez votre adresse : <input type="text" name="adressePropriétaire"/><br/> Entrez le nom de votre commune : <input type="text" name="communePropriétaire"/><br/> Entrez votre code postal : <input type="text" name="codePostalPropriétaire"/><br/> Entrez votre numéro de téléphone fixe : <input type="text" name="numTelFixe"/><br/> Entrez le nom du mandataire : <input type="text" name="nomMandataire"/></br> <input type="button" name="valider" value="OK" onClick="controle('proprietaire')"/><input type="reset" value = "Annuler"/></br> </form> <?php $nom = $_POST['nom']; $prenom = $_POST['prenom']; $entreprise = $_POST['repEntreprise']; $adresse = $_POST['adresseClient']; $commune = $_POST['communeClient']; $code_postal = $_POST['codePostalClient']; $telephone = $_POST['numTelFixe']; $portable = $_POST['numTelPort']; $mail = $_POST['mailClient']; $interlocuteur = $_POST['nomInterlocuteur']; $puissance = $_POST['puissance[]']; $exploitation = $_POST['exploitation[]']; //On se connecte connectContratGlobal(); //On prépare la commande sql d'insertion $sql = "INSERT INTO Client VALUES('','".$puissance."','".$nom."','".$prenom."','".$entreprise."','".$adresse."','".$commune."','".$code_postal."','".$telephone."','".$portable."','".$mail."','".$interlocuteur."','".$exploitation."')"; /*on lance la commande (mysql_query) et au cas où, on rédige un petit message d'erreur si la requète ne passe pas (or die) (Message qui intègrera les causes d'erreur sql)*/ mysql_query ($sql) or die ('Erreur SQL : '.$sql.'<br />'.mysql_error()); // on ferme la connexion mysql_close(); include"bas.php"; ?>
Désolé de t'embêter mais j'y connais pas grand chose.
Merci encore
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $puissance = $_POST['puissance[]']; $exploitation = $_POST['exploitation[]'];
Ces lignes me semblent suspectes. Normalement on fait plutot :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $puissance = $_POST['puissance']; $exploitation = $_POST['exploitation'];
et ensuite $puissance et $exploitation sont des array() contenant tes valeurs. Tu peux faire un var_dump() sur tes variables voir ce qu'elles contiennet vraiment. D'autre part, comment est définie ta fonction connectContratGlobal() ?
contratGlobal est ma BDD MySql, je te mets le code de fonction.php :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 <?php function connectContratGlobal(){ $base = mysql_connect ('localhost', 'root', ''); mysql_select_db ('ContratGlobal', $base) ; } # Cette fonction teste la présence de caractères spéciaux # Renvoie 1 si des caractères spéciaux sont trouvés, ou 0 si la chaine est validée # Cela évitera des injections SQL par exemple, ou inclusion XSS (je te laisse te documenter sur les deux) function caractSpeciaux ($string) { $erreur = 1; if (preg_match("#^[a-zA-Z0-9@_\.-]{3,20}$#", $string)) $erreur = 0; return $erreur; } ?>
Voila
Mets en commentaires ces lignes :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 //mysql_query ($sql) or die ('Erreur SQL : '.$sql.'<br />'.mysql_error()); //mysql_close();
et rajoute un
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 echo $sql;
voir si ta requete est correctement formatée
oh ! ma page est passée à propriétaire. Et ça m'affiche correctement mes infos entrées sauf les boutons radio où ça m'indique Array.
Le problème vient de la alors non?
Tu n'as pas besoin de tableau pour les radios, seulement pour les checkbox donc remplace par :
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <input type="radio" name="exploitation" value="solo"/>Demande à son propre compte<input type="radio" name="exploitation" value="mandataire"/>Demande en tant que mandataire<br/>
Merci beaucoup !!
si j'ai encore besoin d'aide, je sais vers qui me tourner désormais ^^
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager