表单中包含false值的复选框

时间:2015-01-21 17:51:24

标签: php html checkbox

我需要发送false的{​​{1}}值,默认情况下不会选中复选框。 我的复选框定义如下:

<label><input type="checkbox" id="rez" name="rezerwowanie" value="false" />Rezerwowanie</label>

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

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

当我选中复选框但是没有选中它时它无效。这里的问题是什么?

1 个答案:

答案 0 :(得分:3)

复选框仅在激活时向服务器发送值。因此,当未选中时,$ _POST ['rezerwowanie']将不会出现。您的代码需要考虑到这一点。检查数组元素是否设置将给出相同的结果。

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

一种更简单的方法:

$Reservation = isset($_POST['rezerwowanie']) ? 0 : 1;
如果用户没有勾选复选框,

$ Reservation将等于0。我可能会根据您的需求向后调整逻辑,但总体思路是正确的。 否则如果需要其他声明。