Validation d'un formulaire et execution PHP
Fermé
J'ai compris comment vérifier un champ d'un formulaire grâce à javascript mais comment faire en sorte que:
1/ si le champ n'est valide alors le formulaire n'est pas posté
2/ si le champ est valable le champ est posté et execute un script php ?
Merciiiii !
Sspacy
1/ si le champ n'est valide alors le formulaire n'est pas posté
2/ si le champ est valable le champ est posté et execute un script php ?
Merciiiii !
Sspacy
A voir également:
- Validation d'un formulaire et execution PHP
- Formulaire de réclamation facebook - Guide
- Easy php - Télécharger - Divers Web & Internet
- Impossible d'utiliser ce numéro de téléphone pour la validation - Forum Gmail
- Récupérer compte hotmail sans formulaire - Forum Hotmail / Outlook.com
- Formulaire de reclamation instagram - Guide
3 réponses
PhP
Messages postés
1770
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
606
3 mars 2002 à 12:36
3 mars 2002 à 12:36
Salut SSPACY
Pas étonnant que ca fonctionne pas ! Tu testes pas un champ du formulaire !
Et puis il manque des accolades dans le fct JavaScript !
Normalement dans ton formulaire ton champ de type auteur doit se présenter comme suit :
<input type="text" name="auteur" size=40 maxlength=40>
G mis 40 car. de long au hasard.
De plus donne un nom a ton formulaire par ex "fiche"
Le code donne alors
<form name="fiche" method="post" action="Scripts/Publier.php" onSubmit="return verifForm();">
<input type="text" name="auteur" size=40 maxlength=40>
</form>
Maintenant le code + JS :
<html>
<head>
<script language="JavaScript">
<!--
function verifForm()
{
if(document.fiche.auteur.value == "")
{
alert('Le champs AUTEUR est obligatoire');
return false;
}
else
{
return true;
}
}
// -->
</script>
</head>
<body>
<form name="fiche" method="post" action="Scripts/Publier.php" onSubmit="return verifForm();">
<input type="text" name="auteur" size=40 maxlength=40>
<input type="submit" value="Envoyer">
</form>
</body>
</html>
Comma çà c'est mieux ;:-)
@+
Philippe
[[ The Truth is Out There ]]
Pas étonnant que ca fonctionne pas ! Tu testes pas un champ du formulaire !
Et puis il manque des accolades dans le fct JavaScript !
Normalement dans ton formulaire ton champ de type auteur doit se présenter comme suit :
<input type="text" name="auteur" size=40 maxlength=40>
G mis 40 car. de long au hasard.
De plus donne un nom a ton formulaire par ex "fiche"
Le code donne alors
<form name="fiche" method="post" action="Scripts/Publier.php" onSubmit="return verifForm();">
<input type="text" name="auteur" size=40 maxlength=40>
</form>
Maintenant le code + JS :
<html>
<head>
<script language="JavaScript">
<!--
function verifForm()
{
if(document.fiche.auteur.value == "")
{
alert('Le champs AUTEUR est obligatoire');
return false;
}
else
{
return true;
}
}
// -->
</script>
</head>
<body>
<form name="fiche" method="post" action="Scripts/Publier.php" onSubmit="return verifForm();">
<input type="text" name="auteur" size=40 maxlength=40>
<input type="submit" value="Envoyer">
</form>
</body>
</html>
Comma çà c'est mieux ;:-)
@+
Philippe
[[ The Truth is Out There ]]
Bobinours
Messages postés
2898
Date d'inscription
jeudi 26 avril 2001
Statut
Membre
Dernière intervention
21 mars 2013
504
3 mars 2002 à 05:48
3 mars 2002 à 05:48
Dans le form fais :
<FORM action="script.php" onSubmit="return verif();"...>
Et dans ta fonction JavaScript, tu retournes vrai ou afux selon :
function verif()
{
if (champ incorrect)
{
alert('incorrect');
return false;
}
return true;
}
-= Bobinours =-
<FORM action="script.php" onSubmit="return verif();"...>
Et dans ta fonction JavaScript, tu retournes vrai ou afux selon :
function verif()
{
if (champ incorrect)
{
alert('incorrect');
return false;
}
return true;
}
-= Bobinours =-
Merci Bobinours mais comme je suis archie débutant en java, je n'arrive pas à appliquer ton truc, ça marche pas !
Le champ à tester a pour nom auteur, le formulaire n'a pas de nom mais comporte plusieurs champs que j'aimerais aussi tester d'ailleurs, ,voilà donc ma fonction:
function verifForm()
{
if(form.auteur.value == "")
alert('Le champs AUTEUR est obligatoire');
return false;
else
return true;
}
et voilà l'entête de mon formulaire:
<form method="post" action="Scripts/Publier.php" onSubmit="return verifForm();">
La fonction javascript est ignorée....
Le champ à tester a pour nom auteur, le formulaire n'a pas de nom mais comporte plusieurs champs que j'aimerais aussi tester d'ailleurs, ,voilà donc ma fonction:
function verifForm()
{
if(form.auteur.value == "")
alert('Le champs AUTEUR est obligatoire');
return false;
else
return true;
}
et voilà l'entête de mon formulaire:
<form method="post" action="Scripts/Publier.php" onSubmit="return verifForm();">
La fonction javascript est ignorée....
Bobinours
Messages postés
2898
Date d'inscription
jeudi 26 avril 2001
Statut
Membre
Dernière intervention
21 mars 2013
504
3 mars 2002 à 16:11
3 mars 2002 à 16:11
Ce n'est pas du JAVA, mais du JavaScript. Ca n'a rien à voir (malgré le nom).
De façon somple, fais :
<form method="post" action="Scripts/Publier.php" onSubmit="return verifForm(this);">
(this correspond à l'objet formulaire <FORM>)
Et dans ta fonction, Change ceci :
function verifForm(leForm)
{
if(leForm.auteur.value == "")
...
-= Bobinours =-
De façon somple, fais :
<form method="post" action="Scripts/Publier.php" onSubmit="return verifForm(this);">
(this correspond à l'objet formulaire <FORM>)
Et dans ta fonction, Change ceci :
function verifForm(leForm)
{
if(leForm.auteur.value == "")
...
-= Bobinours =-
PhP
Messages postés
1770
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
606
3 mars 2002 à 15:56
3 mars 2002 à 15:56
well, well, well ...
Si tu ne veux pas réécrire tout il faut généraliser le code JS.
Evidemment c'est un peu plus complexe ...
... car j'utilise des objets.
par ex :
<html>
<head>
<script language="JavaScript">
<!--
var champs=new Array()
function Champ(ref,msg)
{
this.ref=ref
this.msg=msg
}
function champ_estVide()
{
if (this.ref.value == "")
{
alert(this.msg);
this.ref.focus();
return true;
}
else
{
return false;
}
}
Champ.prototype.estVide=champ_estVide
function chargeChamps()
{
champs[0]=new Champ(document.fiche.auteur,"Le champs AUTEUR est obligatoire !")
champs[1]=new Champ(document.fiche.oeuvre,"Le champs OEUVRE est obligatoire !")
}
function verifForm()
{
if (champs[0].estVide()) return false;
if (champs[1].estVide()) return false;
return true;
}
// -->
</script>
</head>
<body onload="chargeChamps()">
<form name="fiche" onSubmit="return verifForm();">
Auteur<input type="text" name="auteur" size=40 maxlength=40>
Oeuvre<input type="text" name="oeuvre" size=40 maxlength=40>
<input type="submit" value="Envoyer">
</form>
</body>
</html>
Ce script ne test qui si les champs sont vides (donc obligatoire en fait) : à toi de le complèter si tu veux tester d'autres conditions (un champ contenant un nombre, une date valide etc ...)
Nota : tu peux effectuer les contrôles à la sortie de chaque champ en écrivant :
Auteur<input type="text" name="auteur" size=40 maxlength=40 onblur="champs[0].estVide()">
Oeuvre<input type="text" name="oeuvre" size=40 maxlength=40 onblur="champs[1].estVide()">
@+
Philippe
[[ The Truth is Out There ]]
Si tu ne veux pas réécrire tout il faut généraliser le code JS.
Evidemment c'est un peu plus complexe ...
... car j'utilise des objets.
par ex :
<html>
<head>
<script language="JavaScript">
<!--
var champs=new Array()
function Champ(ref,msg)
{
this.ref=ref
this.msg=msg
}
function champ_estVide()
{
if (this.ref.value == "")
{
alert(this.msg);
this.ref.focus();
return true;
}
else
{
return false;
}
}
Champ.prototype.estVide=champ_estVide
function chargeChamps()
{
champs[0]=new Champ(document.fiche.auteur,"Le champs AUTEUR est obligatoire !")
champs[1]=new Champ(document.fiche.oeuvre,"Le champs OEUVRE est obligatoire !")
}
function verifForm()
{
if (champs[0].estVide()) return false;
if (champs[1].estVide()) return false;
return true;
}
// -->
</script>
</head>
<body onload="chargeChamps()">
<form name="fiche" onSubmit="return verifForm();">
Auteur<input type="text" name="auteur" size=40 maxlength=40>
Oeuvre<input type="text" name="oeuvre" size=40 maxlength=40>
<input type="submit" value="Envoyer">
</form>
</body>
</html>
Ce script ne test qui si les champs sont vides (donc obligatoire en fait) : à toi de le complèter si tu veux tester d'autres conditions (un champ contenant un nombre, une date valide etc ...)
Nota : tu peux effectuer les contrôles à la sortie de chaque champ en écrivant :
Auteur<input type="text" name="auteur" size=40 maxlength=40 onblur="champs[0].estVide()">
Oeuvre<input type="text" name="oeuvre" size=40 maxlength=40 onblur="champs[1].estVide()">
@+
Philippe
[[ The Truth is Out There ]]
3 mars 2002 à 13:36
effectivement comme ça ça marche bcp mieux !!
une dernière petite Q
*<:D)
je veux aussie testé d'autres champs
comment faire sans réécrire la fonction javascript pour chaque champs ??