Rechercher : dans
Par :

[PHP-HTML] checkbox cochée ou non ?

Dernière réponse le 9 jan 2009 à 01:17:00 Yotte, le 16 aoû 2005 à 11:17:20 
 Signaler ce message aux modérateurs

Bonjour,

j'ai cherché en vain une réponse à ma question sur ce forum.
Voilà mon problème :

j'ai un formulaire HTML dans une première page :

<form>
<p>Que voulez-vous étudier ?
Cocher les cases utiles.
<table border="2" cellpadding="5">
<tr><th colspan="2"><input type="checkbox" name="choix[]" value="a"><a href="a.php">A</a></th></tr>
<tr><th colspan="2"><input type="checkbox" name="choix[]" value="b"><a href="b.php">B</a></th></tr>
<tr><th colspan="2"><input type="checkbox" name="choix[]" value="c"><a href="c.php">C</a></th></tr>
<tr><th width="20%" rowspan="6">autre</th>
<td width="300"><input type="checkbox" name="choix[]" value="d"> <a href="d.php">D</a></td></tr>
<tr><td><input type="checkbox" name="choix[]" value="e"> <a href="e.php">E</a></td></tr>
<tr><td><input type="checkbox" name="choix[]" value="f"> <a href="f.php">F</a></td></tr>
<tr><td><input type="checkbox" name="choix[]" value="g"> <a href="g.php">G</a></td></tr>
<tr><td><input type="checkbox" name="choix[]" value="h"> <a href="h.php">H</a></td></tr>
<tr><td><input type="checkbox" name="choix[]" value="i"> <a href="i.php">I</a></td></tr>
</table> 
</div>
</form>


Dans une deuxième page, je voudrai pouvoir utiliser le fait que les checkbox soient cochées ou non (sans utiliser Javascript puisque je n'ai plus de formulaire dans ma 2ème page). J'ai déjà essayé d'afficher ce qui était coché, en vain :
<? if(isset($_POST['choix']))
	{$_SESSION['choix']=$_POST['choix'];}
else{$_SESSION['choix']=' ';}

echo 'Vous avez choisi d\'étudier  : ';
for ($i=0; $i<sizeof($_SESSION['choix']); $i++)
{if ($_SESSION['choix'] == '')
{echo '';}
else
{echo $_SESSION['choix'][$i].'<br>';}
}
?>


y'a-t-il un moyen de savoir si une case est cochée, un truc du genre
if ($_SESSION['choix'][$i] == 'checked')
?

Merci de votre aide !

Meilleures réponses pour « [PHP HTML] checkbox cochée ou non ? » dans :
[PHP] Upload de fichiers VoirLe langage PHP permet de gérer des fichiers envoyés (uploadés) grâce à un formulaire HTML. Formulaire d'envoi de fichiers Configuration de PHP pour permettre l'upload Récupération du fichier avec PHP Formulaire d'envoi de fichiers La...
[PHP] Lister le contenu d'un répertoire VoirGrâce à PHP, il est possible d'afficher le contenu d'un répertoire et de ses sous-répertoires. Voici ci-dessous une fonction permettant de parcourir récursivement les répertoires et sous-répertoires et d'en afficher les fichiers : function...
Implantation du code Php VoirL'interprétation du code par le serveur Un script PHP est un simple fichier texte contenant des instructions écrites à l'aide de caractères ASCII 7 bits (des caractères non accentués) incluses dans un code HTML à l'aide de balises spéciales et...
PHP - Récupération de données VoirPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des...
Caractères spéciaux HTML VoirCodage des caractères spéciaux Le standard HTML demande de respecter le codage des caractères ASCII 7 bits, c'est-à-dire que les caractères accentués ne sont pas autorisés. Il faut pour cela utiliser un codage particulier. Pour...

1

StreM, le 16 aoû 2005 à 13:14:02
  • +18

Tu es sur la bonne piste pour ce qui est d'utiliser des formulaires avec des tableaux.

Par contre, vu ce que tu veux faire, c'est pas le moyen le plus judicieux.
Appelle tes input <input name="choixA">
Et récupères les par :
$_POST['choixA']
Un input checkbox sans value coché aura une valeur à TRUE donc pour faire le test :
if ($_POST['choixA']) {...} suffit.
Et pour boucler sur tes valeur, tu peux parcourir l'alphabet :

for ($ascii = ord('A'); $ascii <= ord('Z'); $ascii++)
{
    echo chr($ascii);
}

Ou encore, tu peux appeler tes input name="choix1", et faire une boucle avec :
for ($i=0,$i<7,$i++ {
   if ($_POST['choix'.$i]) {
       echo "choix ".$i; }
  }


Sinon, avec un name="choix[]" , tu peux recuperer tes valeur avec :
$tab =$_POST['choix'];
$tab est alors un array, donc
if (isset($tab)) est toujours TRUE.
C'est if (isset($tab['A'])) qu'il faut utiliser.

bon courage !



Moins le blanc est intelligent, plus le noir lui parait bête

Répondre à StreM

2

emibru, le 12 aoû 2007 à 12:46:31
  • +6

Bonjour,
J'ai trouvé un exemple qui pourrait vous aider :

#################################
<? if(!empty($_POST["mon_champ"])) { ?>
Vous avez choisi comme option -
<b>
<?
for ($i = 0; $i < count($_POST["mon_champ"]); $i++)
echo $_POST["mon_champ"][$i]." - ";
?>
</b><br><br>
<? } ?>

<FORM method="POST">
<input type="checkbox" name="mon_champ[]"
value=1>Option 1<br>
<input type="checkbox" name="mon_champ[]"
value=2>Option 2<br>
<input type="checkbox" name="mon_champ[]"
value=3>Option 3<br>
<input type="Submit" value="OK">
</FORM>
####################################

Cet exemple vous permet de récupérer la valeur de l'attibut "value" du check coché. Je pense que c'est ce que vous recherchez.
Pour tester cet exemple, allez à la page :
http://www.asp-php.net/tutorial/asp-php/formulaires.php?page=5

Répondre à emibru

3

Nep, le 15 aoû 2007 à 10:30:13

Merci c'est exactement ce que je cherchais
Je vais m'en servir tres prochainement

Répondre à Nep

4

guetteur, le 2 avr 2008 à 10:48:59

Bonjour je veux faire exactement la même chose i.e. voir si des checkbox sont à vrai ou pas sur VBA pour excell. Mon gros problème est de faire boucler les checkbox il y en a une centaine. Merci de votre aide

Répondre à guetteur

5

Pat, le 3 jan 2009 à 17:33:30

Le réponse de emibru marche nickel
merci :p

Répondre à Pat

6

 manu, le 9 jan 2009 à 01:17:00
  • +6

Pour faire ca facilement, y'a la fonction implode en php qui est tres simple à utiliser est qui renvoi sous forme de string toute les checkbox cochées séparé par un caractère de séparation à definir dans la fonction.
Avec cette technique, aucune boucle à créer !

Répondre à manu
Collection CommentÇaMarche.net