Php 表单中值为false的复选框

Php 表单中值为false的复选框,php,html,checkbox,Php,Html,Checkbox,我需要使用默认未选中的复选框的postfalse值发送。 我的复选框定义如下: Rezerwowanie 提交后,我使用该代码检查复选框是否选中: $Reservation = $_POST['rezerwowanie']; if ($Reservation == false) { $Reservation = 0; } else { $Reservation = 1; } 当我选中复选框时它会工作,但如果未选中,则它不会工作。这

我需要使用默认未选中的复选框的post
false
值发送。 我的复选框定义如下:

Rezerwowanie

提交后,我使用该代码检查复选框是否选中:

$Reservation = $_POST['rezerwowanie'];
    if ($Reservation == false) {
        $Reservation = 0;
    } else
    {
        $Reservation = 1;
    }

当我选中复选框时它会工作,但如果未选中,则它不会工作。这里有什么问题?

该复选框仅在激活时向服务器发送一个值。因此,如果不选中它,$\u POST['rezerwowanie']将不在那里。您的代码需要对此进行说明。检查数组元素isset是否会给出相同的结果

$Reservation = isset($_POST['rezerwowanie']);
if ($Reservation == false) {
    $Reservation = 0;
} else
{
    $Reservation = 1;
}
实现这一点的更简单方法是:

$Reservation = isset($_POST['rezerwowanie']) ? 0 : 1;
如果用户未选中该复选框,$Reservation将等于0。根据你的需要,我可能会把逻辑倒过来,但总的想法是正确的。
不需要if-else语句。

$Reservation=“false”不是==false,应该尝试
if($Reservation==“false”)
我相信您已经有了答案。如果设置为,则由于HTML中定义的值,它将为false。不应该是
?0:1
是的,我也在想同样的事情。双重否定逻辑的东西让代码变得非常怪异>\u>@CoryDanielson,同意。