尝试了解如何处理从复选框发送的值。得到一个页面上的表单接受名称值电子邮件等,然后还有一个“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>
答案 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;