如何从html表单中获取未经检查的复选框到php并为其赋值?

时间:2016-04-17 18:42:50

标签: php html forms

我正在博客中工作,我正在尝试处理注册表单的新闻通讯复选框...当用户标记复选框时我没有问题得到'是'作为结果我接受了数据库,但当用户离开复选框未选中时,我得到一个未定义的索引,只是无法继续使用寄存器,这是我到目前为止的代码

html表单

<form method="POST" action="process-register.php">
  <input type="checkbox" name="newsletter" value="yes" />
</form>

//declared variable for the users input
$newsletter=$_POST['newsletter'];

//the condition for the checkbox
if(isset( $newsletter)){
$newsletter=="yes";
}else{
$newsletter=="no";
}

//then I insert the variable $newsletter through a prepared query... 

3 个答案:

答案 0 :(得分:0)

使用isset()来查看该值是否完全提交。

答案 1 :(得分:0)

使用空检查。

if(!empty($_POST['newsletter'])){
}

答案 2 :(得分:0)

你在这里发生了一些事情。例如,您似乎正在使用==进行分配(在您选中复选框的条件下),而您可能需要=。但重要的是用默认值“no”定义你的变量,然后用发布的值覆盖它,如果已设置的话。

尝试

// set default value
$newsletter = "no";

// use posted variable if it's set
if (isset($_POST['newsletter'])) {
    $newsletter = $_POST['newsletter'];
}

// then insert the variable $newsletter through a prepared query...