Champs obligatoire

crixuss Messages postés 26 Statut Membre -  
gign44 Messages postés 132 Statut Membre -
Bonjour,

Je suis en train de faire un formulaire dans lequel un utilisateur doit insérer un certain nombre d'objectif dans des champs text et j'aimerai faire en sorte que si il ne rempli pas le premier champ, qu'une erreur s'affiche lui disant de le remplir. Quand je remplis les deux premier champs tout marche normalement (aucun message d'erreur ne s'affiche), mais une fois arriver sur le troisième champ (après avoir remplis les deux première), il m'affiche le message d'erreur que je suis sensé avoir si je ne remplis pas la première case. Je ne comprend pas.

Voici ce que j'ai essayer de faire :


if(empty($_GET['objectif']) && empty($_GET['objectif1']) && empty($_GET['objectif2']) && empty($_GET['objectif3']) && empty($_GET['objectif4']))
$alert[] = "Veuillez devez remplir au moins un objectif ";

if(empty($_GET['objectif']) && !empty($_GET['objectif1']) || !empty($_GET['objectif2']) || !empty($_GET['objectif3']) || !empty($_GET['objectif4']))
{
$alert[]= "Veuillez devez remplir la premiere case des objectifs ";
}

if(!empty($_GET['objectif']) && empty($_GET['objectif1']) || empty($_GET['objectif2']) || empty($_GET['objectif3']) || empty($_GET['objectif4']))
{
$objectif= stripcslashes($_GET['objectif']);
}

if(!empty($_GET['objectif']) && !empty($_GET['objectif1']) && empty($_GET['objectif2']) || empty($_GET['objectif3']) || empty($_GET['objectif4']))
{
$objectif= stripcslashes($_GET['objectif']);
$objectif1= stripcslashes($_GET['objectif1']);
}

if(!empty($_GET['objectif']) && !empty($_GET['objectif1']) && !empty($_GET['objectif2']) && empty($_GET['objectif3']) || empty($_GET['objectif4']))
{
$objectif= stripcslashes($_GET['objectif']);
$objectif1= stripcslashes($_GET['objectif1']);
$objectif2= stripcslashes($_GET['objectif2']);
}

if(!empty($_GET['objectif']) && !empty($_GET['objectif1']) && !empty($_GET['objectif2']) && !empty($_GET['objectif3']) && empty($_GET['objectif4']))
{
$objectif= stripcslashes($_GET['objectif']);
$objectif1= stripcslashes($_GET['objectif1']);
$objectif2= stripcslashes($_GET['objectif2']);
$objectif3= stripcslashes($_GET['objectif3']);
}

if(!empty($_GET['objectif']) && !empty($_GET['objectif1']) && !empty($_GET['objectif2']) && !empty($_GET['objectif3']) && !empty($_GET['objectif4']))
{
$objectif = stripcslashes($_GET['objectif']);
$objectif1 = stripcslashes($_GET['objectif1']);
$objectif2 = stripcslashes($_GET['objectif2']);
$objectif3 = stripcslashes($_GET['objectif3']);
$objectif4= stripcslashes($_GET['objectif4']);
}

Merci d'avance

1 réponse

gign44 Messages postés 132 Statut Membre 5
 
Bonjour,

Ton code est assez... Brouillon disons ;)
Utilise du javascript au moment d'envoyer le formulaire.

<form action="TaPage.php" method="post" onsubmit="return valider()">

Et le JS à mettre dans ton header :


<script type="text/javascript">
//<![CDATA[

function valider() {

if(document.form.objectif.value = "") {
alert("Vous devez remplir le champ !");
return false;
}
if(document.form.objectif1.value = "") {
alert("Vous devez remplir le champ !");
return false;
}
if(document.form.objectif2.value = "") {
alert("Vous devez remplir le champ !");
return false;
}
if(document.form.objectif3.value = "") {
alert("Vous devez remplir le champ !");
return false;
}
if(document.form.objectif4.value = "") {
alert("Vous devez remplir le champ !");
return false;
}

document.formSaisie.submit();
}

//]]>
</script>


Cordialement
0
ThEBiShOp Messages postés 9307 Statut Contributeur 1 566
 
Salut gign44, est-ce que tu pourrais prendre l'habitude de répondre aux sujet en "réponse" et non en "commentaire", afin d'améliorer la lisibilité, de noter les réponses données, de commenter, etc...

Merci ;)
0
ThEBiShOp Messages postés 9307 Statut Contributeur 1 566
 
et pour répondre au sujet, le javascript ne dispense pas de faire une vérification en PHP !

Il est par ailleurs possible d'utiliser l'attribut "required" apparu avec le html5
0
gign44 Messages postés 132 Statut Membre 5
 
Salut,
Ce fut une erreur de ma part de répondre en commentaire.
Et par rapport au sujet, il y a bon nombre de solutions. Bien entendu il faut une vérif PHP par la suite car tout le monde n'accepte pas le JS, mais pour des champs texte, je trouve personnellement que c'est le plus adapté pour une vérification "éclair" avec un message personnalisé en cas d'erreur avant de soumettre le form.
Cordialement
0