Déterminer lequel des cases à cocher ont été sélectionnés dans une forme en php

voix
1

J'ai un formulaire avec plusieurs cases à cocher. Quand je soumets à une autre page php, je me demande: Comment puis-je dire quels sont contrôlés sans appeler isset sur chaque nom de case à cocher? (S'il y a un moyen). Si je donne chacune des cases du même nom, alors que la dernière case sélectionnée est renvoyée.

Merci,
Michael

Créé 16/08/2009 à 23:12
source utilisateur
Dans d'autres langues...                            


2 réponses

voix
5

Une bizarrerie de PHP exige que les contrôles de formulaire mettent fin à leur nom avec les caractères []pour que plus d'un d'entre eux pour être reconnu.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
   <title>Demo</title>

<form action="cb.php">
<div>
    <input type="checkbox" name="animals[]" value="dog" id="dog"> 
    <label for="dog">dog</label>
</div>
<div>
    <input type="checkbox" name="animals[]" value="cat" id="cat"> 
    <label for="cat">cat</label>
</div>
<div>
    <input type="checkbox" name="animals[]" value="rabbit" id="rabbit"> 
    <label for="rabbit">rabbit</label>
</div>
<div>
    <input type="checkbox" name="animals[]" value="hampster" id="hampster"> 
    <label for="hampster">hampster</label>
</div>
<div><input type="submit"></div>
</form>
<?php
if ($_GET['animals']) {
?>
<ul>
<?php
foreach ($_GET['animals'] as $animal) {
?>
<li><?php print htmlspecialchars($animal); ?></li>
<?php
}
?>
</ul>
<?php
}
?>
Créé 16/08/2009 à 23:15
source utilisateur

voix
1

Utilisez un nom de tableau pour toutes les cases dans le même groupe, par exemple name = « mycheckboxes [] ». De cette façon, vous obtiendrez un tableau contenant la liste des cases cochées dans votre code php

Créé 16/08/2009 à 23:15
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more