我如何处理从表单发送到PHP的复选框值

时间:2014-02-27 16:12:32

标签: php html checkbox

尝试了解如何处理从复选框发送的值。得到一个页面上的表单接受名称值电子邮件等,然后还有一个“mailingList”复选框值,但我很难处理设置和取消设置值。以下代码是表单页面中的$ _POST方法。

    if (isset($_POST['register'])) {
    $email = trim($_POST['email']);
    $password = trim($_POST['pwd']);
    $retyped = trim($_POST['conf_pwd']);
     $firstname = trim($_POST['fname']);
     $lastname = trim($_POST['lname']);
     $company = trim($_POST['company']);
     $mailingList = $_POST['mailingListCheckbox'];
    require_once('./includes/register_user_pdo.inc.php');
    }

我目前有这个if语句尝试设置“mailingListValue”的值来尝试正确处理它但它似乎不起作用。

    if (!isset($mailingList)) {
    $mailingListValue = 0;
    }
    else {
    $mailingListValue = 1;
    }   

if语句的任何提示或我做错的提示都将非常感谢!感谢您的帮助!

编辑:表单

<input name="mailingListCheckbox" type="checkbox" id="mailingListCheckbox" value="1" checked="checked">
<label for="mailingListCheckbox">Yes, I would like to receive alerts and updates from the MSF</label> 

3 个答案:

答案 0 :(得分:3)

编辑您的PHP代码

if ($mailingList == 1) {
$mailingListValue = 1;
}
else {
$mailingListValue = 0;
}   

如果选中了复选框,则$mailingList值将为“1”

答案 1 :(得分:0)

使用上面的@Sean方法(在问题评论中)并在设置$mailingList时进行测试或测试实际条件是否设置为$mailingList,即......

if($mailingList == 1) {
    //do something
} else {
    // dont do something
}

答案 2 :(得分:0)

只做一切:

$mailingListValue = isset($_POST['mailingListCheckbox']) ? 1 : 0;