我有一个将用户输入插入MySQL数据库的表单,其中一个输入字段有一个布尔值。当值为true时它工作正常,但是如果值为false,则我的'echo'和数据库根本不能接收该值。我真的不知道发生了什么。请看下面的代码: HTML:
<label>
<input type="checkbox" id="consentForEmail" name="consentForEmail" />
<span class="wpcf7-list-item-label">By clicking this button I agree to receive emails from us</span>
</label>
用于收集和设置值的JavaScript:
var _this = '#consentForEmail';
$('#consentForEmail').change(function(){
var checked = $('#consentForEmail').prop('checked');
$(_this).val(checked);
console.log( $('#consentForEmail').val() );
});
最后,PHP用于收集表单数据:
$receive_email = $_POST["consentForEmail"];
echo "<li>$receive_email</li>"
谢谢!
答案 0 :(得分:1)
复选框不会随表单一起提交,无论它们的价值是什么。虽然您可以在复选框<input>
上附加值,但是要检查的真正考验是输入的name
是否完全出现:
if (isset($_POST['consentForEmail'])) {
... box was checked
} else {
... box was NOT checked
}