PHP problème de checkbox

Résolu/Fermé
flippydu90 Messages postés 5 Date d'inscription mardi 6 octobre 2009 Statut Membre Dernière intervention 7 juin 2010 - 7 juin 2010 à 12:08
XatOr Messages postés 742 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 5 décembre 2010 - 10 juin 2010 à 01:41
Bonjour,

J'ai un petit soucis en php.

J'ai réalisé un formulaire d'inscription avec une checkbox pour accepter les cgu qui ressemble à ceci :

<input type="checkbox" id="cgu"/> ...

Dans mon fichier php j'aimerai que si on ne coche pas il affiche un message du genre : veuillez accepter ...

Et si on la coche, l'inscription se déroule comme prévu ...

J'ai essayé comme ça ... :

if ( ! isset($cgu) ) {

header("Location:inscription.php?message=Vous devez accepter les conditions générales d'utilisation !" );
}

en ayant déclarer une variable $cgu

Merci de votre aide !
A voir également:

3 réponses

Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
7 juin 2010 à 12:17
Bonjour,

Alors, quelques questions/remarques :
- Ta checkbox est-elle bien définie au sein d'un formulaire ?
- Il faut lui donner un attribut "name" pour qu'elle soit correctement envoyée avec le formulaire.
- Il faut lui donner une valeur par l'attribut "value"
- Pour récupérer la variable en php, il faut faire appel aux tableaux $_GET ou $_POST, en fonction de l'attribut "method" que tu as définit sur ton formulaire.

Supposons que tu donnes le nom cgu à ta checkbox :
<input type="checkbox" id="cgu" name="cgu" value="oui"/>

Donc, si ton formulaire est défini de cette façon :
<form method="get" [...]

Il faudra récupérer $cgu de cette façon :
$cgu = isset($_GET["cgu"]);

Si tu as method="post", alors :
$cgu = isset($_POST["cgu"]);

Xavier
1
XatOr Messages postés 742 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 5 décembre 2010 34
Modifié par XatOr le 7/06/2010 à 12:18
Salut,

il me semblerait plutôt que c'est :
if($_POST['cgu'] == false) 
{ 
     header("Location:inscription.php?message=Vous devez accepter les conditions générales d'utilisation !" );  
} 


Un checkbox ne peut être true ou false. Or, tu vérifies juste si elle existe !
Xat' 4 <*)))><
1
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
7 juin 2010 à 13:49
Bonjour,

tu es sûr de ton coup ?
Pour moi, soit la checkbox existe si elle a été cochée, soit elle n'est même pas fournie par le navigateur. Donc le isset est bien la bonne façon de vérifier si la case est cochée.

Par contre, je dois avouer que je n'en ai pas manipuler depuis assez longtemps, donc quand même à vérifier...

Xavier
0
flippydu90 Messages postés 5 Date d'inscription mardi 6 octobre 2009 Statut Membre Dernière intervention 7 juin 2010
7 juin 2010 à 13:01
Merci pour vos réponses ! je vais essayer dès maintenant !
0
XatOr Messages postés 742 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 5 décembre 2010 34
10 juin 2010 à 01:41
Du nouveau ?

Merci ;)
0