PHP复选框总是在

PHP复选框总是在,php,html,Php,Html,我的表格中有此复选框: <input type="checkbox" name="private" id="private" /> 我做错了什么?isset($\u POST['private'])将始终返回true,因为$\u POST['private']存在 将值添加到复选框并使用$private=$\u POST['private']?1 : 0;或者如果您正在使用PHP7+$private=$\u POST['private']??0;给输入一个值并检查: <inp

我的表格中有此复选框:

<input type="checkbox" name="private" id="private" />
我做错了什么?

isset($\u POST['private'])
将始终返回true,因为
$\u POST['private']
存在


将值添加到复选框
并使用
$private=$\u POST['private']?1 : 0;
或者如果您正在使用PHP7+
$private=$\u POST['private']??0;

给输入一个值并检查:

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

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

$private=isset($\u POST['private'])&&$\u POST['private']=1?1 : 0;

提交HTML表单时,复选框元素的
$\u POST['input\u name']
始终设置,因此您的
设置($\u POST['private'])
始终返回true

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

$private = $_POST['private'];

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

我尝试添加一个值,但问题仍然相同,当我选中复选框时,它返回1,当我选中它时,它仍然返回1您可以用您在输入值时尝试的内容更新您的问题仍然返回1。仍然返回1
$private = $_POST['private'];