gpt4 book ai didi

php - 判断复选框是否被选中 php $_GET

转载 作者:可可西里 更新时间:2023-11-01 00:52:49 24 4
gpt4 key购买 nike

我只想让 php 确定一个复选框是否被选中,但我遇到了获得正确返回的问题。请帮忙。

我的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>

我通过 $_GET 方法将值传递给 php

我的 php 代码:

$aa=$_GET["aa"];
$bb=$_GET["bb"];
$cc=$_GET["cc"];


echo $aa."<br>";
echo $bb."<br>";
echo $cc."<br>";

输出是真的错误的假的

我接下来只想确定是否每个框都被选中,如果是,则执行一些操作。

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"; }

但是 if 语句总是返回 true,即使该框未被选中。我尝试了“===”和“!=”的变体,但它似乎不起作用。

TIA

最佳答案

if (isset($_GET['checkbox_name'])) { ... }

表单控件(文件输入除外,并且对图像输入有一些特殊规则)总是提交字符串。查询字符串或表单编码的 POST 正文中没有 bool 值的概念。

id 无关紧要——只有名称和值很重要(至少对于 PHP 而言)。

由于您没有给它们赋值,IIRC,它们将默认为 on,所以如果您正在进行比较,您应该寻找它。不过,使用 isset 查看更简单。不过,这有点离题,因为您的示例为它们提供了相同的名称和值,因此您无法区分它们。

此外,由于 PHP 表单数据解析器的一个奇怪之处,如果您想要具有相同名称的多个元素,则必须以 [] 结尾。

你可能想做这样的事情:

<label>
<input name="Language[]" type="checkbox" id="aa" checked="checked" value="One" />
One</label>
<label>
<input name="Language[]" type="checkbox" id="bb" value="Two" />Two</label>
<label>
<input type="checkbox" name="Language[]" id="cc" value="Three" />Three</label>

重要:注意值的添加和名称的更改。

然后在 PHP 中,$_GET['Language'] 将是一个包含选中复选框值的数组,您可以对其进行循环。

关于php - 判断复选框是否被选中 php $_GET,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3488270/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com