Page 1 sur 1

Case à cocher : 15 jours que je cherche...

Posté : 07 juin 2009, 15:45
par gege210
Bonjour à tous. Voilà un problème qui me tien depuis 15 jours :

Sur ma page questionnaire.php :
3 cases à cocher
- Case1 | nom: case[] | valeur: 1
- Case2 | nom: case[] | valeur: 2
- Case3 | nom: case[] | valeur: 3

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"> <title>questionnaire.php</title> </head> <body> <form action="envoi.php" name="questionnaire"><input name="case[]" value="1" type="checkbox">Case1<br> <input name="case" value="2" type="checkbox">Case2<br> <input name="case" value="3" type="checkbox">Case3</form> </body> </html>
Le tout est envoyé sur une page envoi.php :


Sur ma page envoi.php
Je récupère les valeur de mes checkbox en les affichant à la ligne :
1
2
3

Code : Tout sélectionner

for ($i = 0; $i < count($_POST["case"]); $i++) echo $_POST["case"][$i]." <br> ";
Ma question : :

Comment afficher un texte correspondant à la case cochée.
Ex :
"Case numéro un
Case numéro deux"
lorsque les case1 et cas2 sont cochées.
Naturellement sans changer la valeur de la case.

En espérant avoir était plus ou moins clair,

@bientôt

gege210

Posté : 07 juin 2009, 16:14
par Ryle
Alors déjà, il faut savoir que seule les valeurs des cases qui ont été cochées sont envoyées. Ensuite, le fait de nommer tes cases avec des crochets, permet à php de créer un tableau avec les valeurs des cases cochées.

Ainsi, tu peux à l'aide d'un simple if() et de la fonction in_array() de php, vérifier dans quel contexte tu te trouves :
if (in_array(1, $_POST['case']) && in_array(2, $_POST['case'])) {
  echo "Les cases 1 et 2 ont été cochées";
}

Posté : 07 juin 2009, 16:16
par gege210
Merci beaucoup de ta réponse,
Je teste et je te redis ça !

[edit] C'est ok, merci beaucoup, j'ai enfin compris comment marchaient les checkbox