Verification formulaire avant envoi

Résolu/Fermé
jpouzoulet Messages postés 22 Date d'inscription vendredi 21 juin 2013 Statut Membre Dernière intervention 1 janvier 2015 - 30 juil. 2013 à 11:53
jpouzoulet Messages postés 22 Date d'inscription vendredi 21 juin 2013 Statut Membre Dernière intervention 1 janvier 2015 - 30 juil. 2013 à 17:21
Bonjour,
j'ai un problème, je me suis aidé de pleins de forum et site pour faire un formulaire qui sera vérifié et qui affichera les erreurs avant l'envoi du formulaire j'ai donc mis des fonctions mais ca ne marche pas ...
Si vous comprenez mon erreur, aidez moi !
Merci d'avance!

Voici mon fichier :
<!--La session permet de pouvoir récupérer le login-->
<?php session_start(); ?>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>ajouter un point de vente</title>
<link href="css/Site.css" rel="stylesheet" type="text/css">
<?php
//connexion à la base de donnée
$con=mysqli_connect('localhost','root','','euclesbo');
// Check connection
if (mysqli_connect_errno($con))
echo "Failed to connect to MySQL: " . mysqli_connect_error();
?>
<script type="text/javascript">
<!--Les fonctions suivantes servent pour indiquer lorsqu'un champ est mal rempli-->
function verifCPDV(champ)
{
var regex = /^[a-zA-Z0-9]{12}$/;
if(!regex.test(champ.value))
return false;
else return true;
}

function veriftentreprise(champ)
{
var regex = /^[a-zA-Z 0-9-_.]+$/;
if(!regex.test(champ.value))
return false;
else return true;
}
function verifadresse1(champ)
{
var regex = /^[a-zA-Z 0-9-_.]+$/;
if(!regex.test(champ.value))
return false;
else return true;
}


function verifcodepostal(champ)
{
var regex = /^[0-9]{5}$/;
if(!regex.test(champ.value))
return false;
else return true;
}
function verifville(champ)
{
var regex = /^[a-zA-Z 0-9-_.]+$/;
if(!regex.test(champ.value))
return false;
else return true;
}
function verifNom(champ)
{
var regex = /^[a-zA-Z -]+$/;
if(!regex.test(champ.value))
return false;
else return true;
}
function verifPrenom(champ)
{
var regex = /^[a-zA-Z -]+$/;
if(!regex.test(champ.value))
return false;
else return true;
}
function veriftel(champ)
{
var regex = /^[0-9]{10}$/;
if(!regex.test(champ.value))
return false;
else return true;
}

function verifForm(f) {

var codepdvOK=verifCPDV(f.codepointdevente);
var entrepriseOK= verifentreprise(f.entreprise);
var adresse1OK=verifCF(f.adresse1);
var codepostalOK= verifcodepostal(f.codepostal);
var villeOK= verifville(f.ville);
var nomOK= verifNom(f.nom);
var prenomOK= verifPrenom(f.prenom);
var telOK= veriftel(f.tel);


if(!codepdvOK) alert("Le code point de vente n'est pas correct, il doit être sur 12 caractères");
else {if(!entrepriseOK) alert("Vous devez renseigner une valeur pour l'entreprise");
else{if(!adresse1OK) alert("Vous devez renseigner une valeur pour le titre");
else { if(!codepostalOK) alert("Veuillez renseigner le code postal");
else { if(!villeOK) alert("Veuillez renseigner la ville");
else{ if(!nomOK) alert("Le nom du responsable est obligatoire");
else {if(!prenomOK) alert("Le prénom du responsable est obligatoire");
else {if(!telOK) alert("Le téléphone du responsable est obligatoire");
else return true;}
}
}
}
}
}
}
return false;
}
</script>
</head>
<body>
<!--entete.php contient l'entete de la page internet-->
<?php include("entete.php"); ?>

<div class="pageconnexion">
<br>
<!--On trouve ici un formulaire permettant de saisir un nouveau titre et de renvoyer les informations à la page ajout_titre2.php-->
<h4>Ajouter un point de vente</h4>

<form onsubmit="return verifForm(this)" action='ajout_store2.php' method="post" >

<p>
<label style='text-indent:0px'>Code point de vente:</label>
<input name="codepointdevente" type="text" class="text" onblur='verifCPDV(this)'>
*
</p>

<p>
<label style='text-indent:73px'>Entreprise:</label>

<input name="entreprise" type="text" class="text" onblur='verifentreprise(this)' >
*
</p>
<br>
<h2>Adressse du point de vente</h2>
<p>
<label style='text-indent:80px'>Adresse1:</label>
<input name="adresse1" type="text" class="text" onblur='verifadresse1(this)'>
*
</p>
<p>
<label style='text-indent:80px'>Adresse2:</label>
<input name="adresse2" type="text" value=''class="text" >

</p>
<p>
<label style='text-indent:80px'>Adresse3:</label>
<input name="adresse3" type="text" value=''class="text" >

</p>

<p>
<label style='text-indent:60px'>Code postal:</label>
<input name="codepostal" type="text" class="text" onblur='verifcodepostal(this)'>
*
</p>

<p >
<label style='text-indent:120px'>Ville:</label>
<input name="ville" type="text" class="text" onblur='verifville(this)'>
*
</p>
<br>
<h2>Coordonnées du gérant :</h2>

<p>
<label style='text-indent:105px'>Civilité:</label>
<?php
$reponse0 = mysqli_query($con,"SELECT civility FROM civility order by civility ");
if($reponse0){
echo "<select name='civilite'>";
while ($donnees0 = mysqli_fetch_array($reponse0) ) {
echo '<option value="' . $donnees0['0'] . '">' . $donnees0['0'] . '</option>';
}
echo "</select>";
}
?>
</p>
<p >
<label style='text-indent:120px'>Nom:</label>
<input name="nom" type="text" onblur='verifNom(this)'>
*
</p>

<p >
<label style='text-indent:98px'>Prénom:</label>
<input name="prenom" type="text" onblur='verifPrenom(this)'>
*
</p>

<p >
<label style='text-indent:78px'>Téléphone:</label>
<input name="tel" type="text" onblur='veriftel(this)'>
*
</p>

<p >
<label style='text-indent:130px'>Mail:</label>
<input name="mail" type="text" value='mail' >
</p>
<br>
<h2>Prix de la livraison :</h2>
<p >
<label style='text-indent:25px'>Prix de la livraison:</label>
<input name="livraison" type="text" value=0 style="width:50px" >
</p>
<br>
<small><i>(*) champ(s) obligatoire(s)</i></small>

<p>
<input class="button" name="valider" value="Ajouter le point de vente" type="submit">

</p>
</form>
</div>
<?php include("pied_de_page.php");
mysqli_close($con);
?>
</body>
</html>






5 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
30 juil. 2013 à 14:59
<?php session_start(); ?>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>ajouter un point de vente</title>
<link href="css/Site.css" rel="stylesheet" type="text/css">
<script type="text/javascript">
//en une seule fonction
//toi tu verifiait a chaque onblur des champs et a nouveau au moment du submit
function verifForm(f) {
	//verif code pdv
	var regex = /^[a-zA-Z0-9]{12}$/;
	if(!regex.test(f.codepointdevente.value)){
		alert("Le code point de vente n'est pas correct, il doit être sur 12 caractères");
		return false;
	}
	//
	//verif entreprise
	var regex = /^[a-zA-Z 0-9-_.]+$/;
	if(!regex.test(f.entreprise.value)){
		alert("Vous devez renseigner une valeur pour l'entreprise");
		return false;
	}
	//
	
	///etc... tu fais pareil pour tous tes champs a vérifier
	
	
	//si erreur le return false sort de la fonction et empèche l'envoi du formulaire
	
	//donc si on est arrivé la c'est qu'il n'y a pas d'erreur
	
	return true; //autorise l'envoi du formulaire
}
</script>
</head>
<body>
<?php

//cette partie php dans le body pas dans le head
//connexion à la base de donnée et mesage si erreur connexion
$con=mysqli_connect('localhost','root','','euclesbo') or die ("Failed to connect to MySQL: " . mysqli_connect_error());

?>
<!--entete.php contient l'entete de la page internet-->
<?php include("entete.php"); ?>

<div class="pageconnexion">
<br>
<!--On trouve ici un formulaire permettant de saisir un nouveau titre et de renvoyer les informations à la page ajout_titre2.php-->
<h4>Ajouter un point de vente</h4>

<form name="form1"  action="ajout_store2.php" method="post" onsubmit="return verifForm(this);" >
<!-- les valeurs des attributs des balises par ex name="...." doivent être entre "  tu mets parfois des "  et parfois des ' soit cohérent -->
<p>
<label style='text-indent:0px'>Code point de vente:</label>
<input name="codepointdevente" type="text" class="text" />
*
</p>

<p>
<label style='text-indent:73px'>Entreprise:</label>

<input name="entreprise" type="text" class="text" />
*
</p>
<br>
<h2>Adressse du point de vente</h2>
<p>
<label style='text-indent:80px'>Adresse1:</label>
<input name="adresse1" type="text" class="text" />
*
</p>
<p>
<label style='text-indent:80px'>Adresse2:</label>
<input name="adresse2" type="text" value=''class="text" >

</p>
<p>
<label style='text-indent:80px'>Adresse3:</label>
<input name="adresse3" type="text" value=''class="text" >

</p>

<p>
<label style='text-indent:60px'>Code postal:</label>
<input name="codepostal" type="text" class="text" />
*
</p>

<p >
<label style='text-indent:120px'>Ville:</label>
<input name="ville" type="text" class="text" />
*
</p>
<br>
<h2>Coordonnées du gérant :</h2>

<p>
<label style='text-indent:105px'>Civilité:</label>
<?php
$reponse0 = mysqli_query($con,"SELECT civility FROM civility order by civility ");
if($reponse0){
echo "<select name='civilite'>";
while ($donnees0 = mysqli_fetch_array($reponse0) ) {
echo '<option value="' . $donnees0['0'] . '">' . $donnees0['0'] . '</option>';
}
echo "</select>";
}
?>
</p>
<p >
<label style='text-indent:120px'>Nom:</label>
<input name="nom" type="text" />
*
</p>

<p >
<label style='text-indent:98px'>Prénom:</label>
<input name="prenom" type="text" />
*
</p>

<p >
<label style='text-indent:78px'>Téléphone:</label>
<input name="tel" type="text" />
*
</p>

<p >
<label style='text-indent:130px'>Mail:</label>
<input name="mail" type="text" value='mail' >
</p>
<br>
<h2>Prix de la livraison :</h2>
<p >
<label style='text-indent:25px'>Prix de la livraison:</label>
<input name="livraison" type="text" value=0 style="width:50px" >
</p>
<br>
<small><i>(*) champ(s) obligatoire(s)</i></small>

<p>
<input class="button" name="valider" value="Ajouter le point de vente" type="submit">

</p>
</form>
</div>
<?php include("pied_de_page.php");
mysqli_close($con);
?>
</body>
</html> 
1
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
30 juil. 2013 à 17:19
sauf erreur ou faute de frappe ça marche avec ce principe, je l'ai appliqué perso pas mal de fois.
1
apprendreEtSeDevelopper Messages postés 65 Date d'inscription vendredi 22 juillet 2011 Statut Membre Dernière intervention 18 octobre 2013 6
30 juil. 2013 à 14:20
Salut, A première vu : Les commentaires en JS c'est // ou /* */ pas <!-- -->
0
jpouzoulet Messages postés 22 Date d'inscription vendredi 21 juin 2013 Statut Membre Dernière intervention 1 janvier 2015
30 juil. 2013 à 16:29
Etes vous sur que ça marche ? je l'ai appliqué sur un cas plus simple et il y a envoi du formulaire dans tout les cas ..




<?php session_start(); ?>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>commandes</title>
<link href="css/Site.css" rel="stylesheet" type="text/css">
<?php
$con=mysqli_connect('localhost','root','','euclesbo');
// Check connection
if (mysqli_connect_errno($con))
echo "Failed to connect to MySQL: " . mysqli_connect_error();
?>
<script type="text/javascript">
function verifForm(f.date.value) {
var regex=/^(0[1-9]|[1-2][0-9]|3[0-1])\/(0[1-9]|1[0-2])\/[0-9]{4}$/;

if ( !regex.test(f.date.value) ) {
alert ("Le format de la date est incorrect ! (jj/mm/aaaa) ") ;
return false ;
}
else return true;
}


</script>

</head>
<body>

<?php include("entete.php"); ?>

<div class="page">
<br>
<h2>Consulter ou modifier une commande </h2>
<form method="post" action="consult_cmd.php" onsubmit="return verifForm(this)">
<br>
<p >
<label style="text-indent:20px">Date (jj/mm/aaaa):</label>
<input name="date" type="text" >
</p>
<br>
<p>
<input class="button" name="Valider" value="Consulter une commande" type="submit">

</p>
</form>




<h2>Ajouter une commande une commande </h2>

</div>
<?php include("pied_de_page.php");
mysqli_close($con);
?>
</body>
</html>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jpouzoulet Messages postés 22 Date d'inscription vendredi 21 juin 2013 Statut Membre Dernière intervention 1 janvier 2015
30 juil. 2013 à 17:21
oui c'est bon j'ai trouvé mon erreur je devais mettre seulement f dans le verifForm ...

merci beaucoup pour votre aide
0