我需要发送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;
}
当我选中复选框但是没有选中它时它无效。这里的问题是什么?
答案 0 :(得分:3)
复选框仅在激活时向服务器发送值。因此,当未选中时,$ _POST ['rezerwowanie']将不会出现。您的代码需要考虑到这一点。检查数组元素是否设置将给出相同的结果。
$Reservation = isset($_POST['rezerwowanie']);
if ($Reservation == false) {
$Reservation = 0;
} else
{
$Reservation = 1;
}
一种更简单的方法:
$Reservation = isset($_POST['rezerwowanie']) ? 0 : 1;
如果用户没有勾选复选框,$ Reservation将等于0。我可能会根据您的需求向后调整逻辑,但总体思路是正确的。 否则如果需要其他声明。