PHP复选框始终返回

时间:2018-01-26 15:50:49

标签: php html

我的表格中有这个复选框:

<input type="checkbox" name="private" id="private" />

当我提交表单时,复选框始终会返回,即使我没有检查它。

echo $_POST['private'] //result is always returns on

$private = isset($_POST['private']) ? 1 : 0; //result is 1 always

我做错了什么?

3 个答案:

答案 0 :(得分:0)

isset($_POST['private'])将始终返回true,因为$_POST['private']存在。

为复选框<input type="checkbox" name="private" id="private" value="1" />添加值并使用$private = $_POST['private'] ? 1 : 0;或者如果您使用的是PHP 7+ $private = $_POST['private'] ?? 0;

答案 1 :(得分:0)

为输入提供一个值并检查:

<input type="checkbox" name="private" id="private" value="1"/>

$private = isset($_POST['private']) && $_POST['private'] == 1 ? 1 : 0;

答案 2 :(得分:0)

当您提交HTML表单时,$_POST['input_name'] for checkbox元素始终设置,因此isset($_POST['private'])始终返回true。

您应该直接检查复选框elemenet的值,如下所示:

$private = $_POST['private'];

这将为您提供所需的结果,如果选中该复选框,$private将等于1,否则为0.