Validation d'un formulaire contenant des checkbox

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Validation d'un formulaire contenant des checkbox

Re: Validation d'un formulaire contenant des checkbox

par AB » 12 mars 2012, 17:30

Bonjour,

La solution que tu cherche c'est : if(empty($variable) && empty($variable2) && empty ($variable3) { $erreur = 'string' }
+1

Explication :
Si le checkox n'est pas coché le post correspondant n'est pas envoyé, il n'est donc pas égal à rien ("") puisqu'il est indéfini. Une valeur non définie ne peut pas être comparéé directement avec une égalité et il faut commencer par vérifier son existence avec isset ou empty (comme ci-dessus).
Normalement un message "undefined index" aurait dû t'alerter.

Re: Validation d'un formulaire contenant des checkbox

par Invité » 12 mars 2012, 16:12

Bonjour,

La solution que tu cherche c'est : if(empty($variable) && empty($variable2) && empty ($variable3) { $erreur = 'string' }

Re: Validation d'un formulaire contenant des checkbox

par ploupy » 10 mars 2012, 08:19

peut être comme ça...
if (($agro === NULL) && ($pharma === NULL) && ($indus === NULL)) {       
$error_sect = "Merci de cocher une des trois cases";
}

Re: Validation d'un formulaire contenant des checkbox

par sharkysand » 26 févr. 2012, 15:58

Bon ben ça fonctionne avec
if (($agro != "a") && ($pharma !="p") && ($indus !="i")){
	$error_sect = "merci de cocher une case";
}
J'ai toujours pas compris pourquoi la première syntaxe ne fonctionnait pas.... Mais bon

Re: Validation d'un formulaire contenant des checkbox

par sharkysand » 26 févr. 2012, 14:07

ça ma éclairé que dalle.... lol

Re: Validation d'un formulaire contenant des checkbox

par sirakawa » 20 févr. 2012, 21:48

En ajoutant
print_r($_POST); // ça éclairerait ta lanterne
$agro = $_POST['agro'];
$pharma = $_POST['pharma'];
$indus = $_POST['indus'];

Validation d'un formulaire contenant des checkbox

par sharkysand » 19 févr. 2012, 15:01

Bonjour,

Après envoi d'un formulaire, je souhaite vérifier si une de mes 3 checkbox est cochée.
Si aucune n'est cochée, je dois renvoyer un message d'erreur contenu dans le variable $error_sect

Voici mon code.

Création de la variable, qui est nulle avant l'envoi du formulaire (l'utilisateur ne reçoit pas de message d'erreur avant d'avoir envoyer son formulaire, normal) :
if ((!isset($_POST['agro'])) && (!isset($_POST['pharma'])) && (!isset($_POST['indus']))) {
	$error_sect = NULL;
}

Aprés envoi du formulaire, récupération des données envoyées dans les checkbox :
$agro = $_POST['agro'];
$pharma = $_POST['pharma'];
$indus = $_POST['indus'];
Si aucune des 3 checkbox n'est cochée, envoi d'un message d'erreur :
if (($agro == "") && ($pharma == "") && ($indus == "")) {	
$error_sect = "Merci de cocher une des trois cases";
}
Est-ce que quelqu'un voit où est l'erreur ?
Car ce code ne fonctionne pas...

Merci