Champs obligatoire

crixuss Messages postés 25 Date d'inscription   Statut Membre Dernière intervention   -  
gign44 Messages postés 124 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

1 réponse

gign44 Messages postés 124 Date d'inscription   Statut Membre Dernière intervention   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 8411 Date d'inscription   Statut Contributeur Dernière intervention   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 8411 Date d'inscription   Statut Contributeur Dernière intervention   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 124 Date d'inscription   Statut Membre Dernière intervention   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