PHP problème de checkbox

Résolu
flippydu90 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -  
XatOr Messages postés 742 Date d'inscription   Statut Membre Dernière intervention   -
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 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
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   Statut Membre Dernière intervention   34
 
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 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
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   Statut Membre Dernière intervention  
 
Merci pour vos réponses ! je vais essayer dès maintenant !
0
XatOr Messages postés 742 Date d'inscription   Statut Membre Dernière intervention   34
 
Du nouveau ?

Merci ;)
0