Champs obligatoire

Fermé
crixuss Messages postés 25 Date d'inscription jeudi 29 août 2013 Statut Membre Dernière intervention 14 novembre 2016 - 13 sept. 2013 à 18:01
gign44 Messages postés 124 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 22 octobre 2013 - 16 sept. 2013 à 14:11
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 124 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 22 octobre 2013 5
16 sept. 2013 à 12:59
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 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 566
16 sept. 2013 à 13:01
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 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 566
16 sept. 2013 à 13:04
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 dimanche 27 janvier 2008 Statut Membre Dernière intervention 22 octobre 2013 5
Modifié par gign44 le 16/09/2013 à 14:12
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