2

嗨,我有一个带有复选框的表单,我想将复选框的值保存到我的数据库中,但是当我单击复选框并保存它时,它工作正常,当我尝试保存表单而不检查它显示的复选框时未定义的索引任何人都可以帮助我

这是我的html

<input type="checkbox" name="active" value="1"></input>

这是我的 php

$nactive  = $_POST["active"];

这是我的保存部分

mysql_query("INSERT INTO `usermain`( `username`, `password`, level, active,`zimname`, zimmob, `email`, admin, makhtab)
            Values
                   ('$nuser', '$npwd', '$nlevel', '$nactive', '$nzname', '$nzmob', '$nemail', '0', '$makh')") or die(mysql_error());
4

3 回答 3

8

如果未选中该复选框,则浏览器实际上不会在您的 POST 请求中发送数据。您需要检查该值是否已设置,然后相应地更新您的变量。

$inactive = isset($_POST["active"]) ? $_POST["active"] : 0;

于 2013-03-11T14:55:33.390 回答
3

如果未选中该复选框,则该值不会发布到脚本中。您必须在使用前检查它是否已设置。

if(isset($_POST['active'])){
    //do something if is
}
else{
    //do something if not
}
于 2013-03-11T14:56:02.080 回答
0

在下一页中使用 isset 控件,如下所示:

if (!isset($nactive)) $nactive = 0;

如果您的复选框未选中,则值为 0

于 2013-03-11T14:57:07.223 回答