0

所以可以说我有一个复选框

<input style="margin-left:0px;" type="checkbox" value="1" name="disablePause" class="product-options-cbx" <?= $this->oProduct->getDisablePause() == 1 ? 'checked="checked"' : ''; ?> /> Disable Pause

此复选框将从数据库中提取 1 或 0 的值,如果为 1 将加载检查。当用户取消选中复选框然后提交表单而不是将 0 传递给错误的数据库时,会发生什么情况。我很确定我的错误在值标签内。有什么建议么?最终,我只是希望能够根据复选框是否选中 (1) 未选中 (0) 来回传递 1 或 0

谢谢你!

4

2 回答 2

0

问题是未设置的复选框不发送数据,而不是 0。(也就是说,未设置的复选框与不存在的复选框的行为相同)。您需要使用 PHP 的isset()函数来测试是否设置了复选框:

<?php
if(isset($_POST['disablePause']))
{
    //the checkbox is set
} else {
    //the checkbox is not set
}
?>

无论您检查是否设置了复选框,都可以执行此操作。

于 2013-07-08T17:42:05.957 回答
0

如果复选框的值为 0,它实际上不会将该参数发送到“接收”页面。如果您使用的是简单的 1 或 0 值,那么您可以在解析页面上使用isset()

$disablePause = isset($_REQUEST['disablePause']) ? 1 : 0;

于 2013-07-08T17:42:16.483 回答