表单中具有错误值的复选框
Checkbox with false value in form
我需要发送 post false
复选框的值 默认情况下未选中。
我的复选框定义如下:
<label><input type="checkbox" id="rez" name="rezerwowanie" value="false" />Rezerwowanie</label>
提交后我使用该代码检查复选框是否被选中:
$Reservation = $_POST['rezerwowanie'];
if ($Reservation == false) {
$Reservation = 0;
} else
{
$Reservation = 1;
}
当我选中复选框时它可以工作,但如果不选中它就不起作用。这里有什么问题?
复选框在激活时只向服务器发送一个值。所以不勾选的时候,$_POST['rezerwowanie']就不会出现。您的代码需要考虑到这一点。检查数组元素是否设置会给你相同的结果。
$Reservation = isset($_POST['rezerwowanie']);
if ($Reservation == false) {
$Reservation = 0;
} else
{
$Reservation = 1;
}
完成此操作的更简单方法:
$Reservation = isset($_POST['rezerwowanie']) ? 0 : 1;
如果用户没有选中复选框,$Reservation 将等于 0。根据您的需要,我可能会有倒退的逻辑,但总体思路是正确的。
不需要 if else 语句。
我需要发送 post false
复选框的值 默认情况下未选中。
我的复选框定义如下:
<label><input type="checkbox" id="rez" name="rezerwowanie" value="false" />Rezerwowanie</label>
提交后我使用该代码检查复选框是否被选中:
$Reservation = $_POST['rezerwowanie'];
if ($Reservation == false) {
$Reservation = 0;
} else
{
$Reservation = 1;
}
当我选中复选框时它可以工作,但如果不选中它就不起作用。这里有什么问题?
复选框在激活时只向服务器发送一个值。所以不勾选的时候,$_POST['rezerwowanie']就不会出现。您的代码需要考虑到这一点。检查数组元素是否设置会给你相同的结果。
$Reservation = isset($_POST['rezerwowanie']);
if ($Reservation == false) {
$Reservation = 0;
} else
{
$Reservation = 1;
}
完成此操作的更简单方法:
$Reservation = isset($_POST['rezerwowanie']) ? 0 : 1;
如果用户没有选中复选框,$Reservation 将等于 0。根据您的需要,我可能会有倒退的逻辑,但总体思路是正确的。 不需要 if else 语句。