déterminer si la case est cochée php $_GET
Je veux juste avoir du php détermine si une case est cochée, mais je suis en cours d'exécution dans un problème d'avoir le droit de retour. De l'aide s'il vous plaît.
Mon code html
<label>
<input name="Language" type="checkbox" id="aa" checked="checked" />
One</label>
<label>
<input name="Language" type="checkbox" id="bb" />Two</label>
<label>
<input type="checkbox" name="Language" id="cc" />Three</label>
Je passe les valeurs de php par $_GET méthode
mon code php:
$aa=$_GET["aa"];
$bb=$_GET["bb"];
$cc=$_GET["cc"];
echo $aa."<br>";
echo $bb."<br>";
echo $cc."<br>";
la sortie est
vrai
faux
faux
Je veux juste déterminer si chaque case est cochée et si oui, faire quelque chose.
if ($aa == true) { $abc="checked";}
else { $abc="not checked"; }
if ($bb == true) { $cde="checked";}
else { $cde="not checked"; }
if ($fgh == true) { $fgh="checked";}
else { $fgh="not checked"; }
Mais les si les déclarations retourne toujours vrai, même si la case n'est pas cochée. J'ai essayé les variations de "===" et "!=", mais il ne semble pas fonctionner.
TIA
OriginalL'auteur jamex | 2010-08-15
Vous devez vous connecter pour publier un commentaire.
Contrôles de formulaire (à l'exception du fichier des entrées, et avec des règles spéciales pour l'image des entrées) toujours soumettre chaînes. Il n'y a pas de concept d'un booléen dans une chaîne de requête ou un formulaire codé corps POST.
L'id n'est pas pertinente — seulement le nom et la valeur de l'affaire (au moins autant que PHP est concerné).
Puisque vous n'avez pas donné les valeurs, autant que je me souvienne, par défaut à
on
donc, si vous faites une comparaison que vous devriez regarder pour que l'. En regardant avecisset
est plus simple. C'est un peu à côté de la question, mais, depuis votre exemple donne à tous le même nom et de la valeur, de sorte que vous ne pouvez pas les distinguer.En outre, en raison d'une bizarrerie de l'PHP formulaire de données de l'analyseur, vous devez terminer le avec
[]
si vous voulez plusieurs éléments avec le même nom.Vous voulez probablement faire quelque chose comme ceci:
Important: Notez l'ajout de valeurs et le changement de nom.
Puis en PHP
$_GET['Language']
sera un Tableau de valeurs de la coché des cases à cocher, vous pouvez passer en boucle.OriginalL'auteur Quentin
Essayer
isset()
Je pense que votre code HTML devrait être comme
puis en utilisant quelque chose comme
$count = count($_GET["Language"]);
vous pouvez compter le nombre de cases cochées.Ou ne
Alors vous pouvez
foreach
sur le tableauOopz, corrigé. Même je pense que
Language
devrait être un tableau.Il ne sera pas. Si le nom ne se termine pas dans
[]
(ou[foo]
(qui est une autre histoire)), puis PHP va prendre la dernière valeur et d'ignorer les autres. Il va tourner dans un Tableau si vous suivez les conventions de nommage.Édité le post, jetez un oeil 🙂
Merci Prasoon
OriginalL'auteur
Dans mon PHP je l'ai eu à partir de
$_POST['checkbox_name']
, et j'ai trouvé que la variable a la valeuron
, quand la case est cochée (c'est à dire qu'il a existé, même si la case était clair).OriginalL'auteur Brian Hooper