Page 1 sur 1

checkbox, cocher ou pas

Posté : 20 sept. 2006, 10:34
par julien.bodard
Bonjour,

Voila j'ai un formulaire
 
<input type="checkbox" value="lect" name="droit[]" /> 
Lecture  
<input type="checkbox" value="ecri" name="droit[]" /> 
Ecriture 
<input type="checkbox" value="supp" name="droit[]" /> 
Suppression 
J'ai essayé plusieur methode pour savoir si cela a été cochez ou non mais cela m'affiche tout le temps checkbox et non la valeur.

es-ce que vous auriez une idee?
merci davance

Posté : 20 sept. 2006, 10:38
par jojolapine
Bonjour, lorsque tu faits:
<?php 
echo $_POST['droit'];//ou GET selon la méthode utilisée
 ?>
dans ton fichier de traitement ça donne quoi?

Posté : 20 sept. 2006, 10:40
par julien.bodard
cela m'ecrit array

merci pour la rapidité

Posté : 20 sept. 2006, 10:43
par Ryle
Pour savoir si une case a été cochée lors de la soumission d'un formulaire, il suffit de tester si celle-ci est définie. En effet, une case non cochée n'est pas envoyée.

Tes cases ayant toutes le même nom, il te faut tester si le tableau $droit a bien été envoyé pour savoir que l'une au moins de ces cases a été cochée : if(isSet($_POST['droit'])) (ou en GET le cas échéant)

Si la valeur est définie, c'est qu'une case au moins a été cochée. Pour savoir lesquelles, il te faut parcourir ton tableau :
if(isSet($_POST['droit'])) { // une case au moins est cochée
  foreach($_POST['droit'] as $case) { // boucle sur le tableau, les valeurs sont passées dans $case à tour de rôle
    if($case=="lect") // premier cas
      echo "<br>La case Lecture a été cochée";
    if($case=="ecri")
       echo "<br>La case Ecriture a été cochée";
    if($case=="supp")
      echo "<br>La case Suppression a été cochée";  
  }
}
A toi de voir ensuite les actions à mener en fonction des cases qui ont été cochées :)

Posté : 20 sept. 2006, 10:49
par julien.bodard
merci

jai parcouru plein de tuto, et aucun na ete aussi clair.

merci pour votre rapidité.