【问题标题】:PHP Form Submission: "false" not passed inPHP 表单提交:“false”未传入
【发布时间】:2015-02-19 21:50:46
【问题描述】:

我有一个将用户输入插入 MySQL 数据库的表单,其中一个输入字段具有布尔值。当值为真时它工作正常,但如果值为假,我的“回声”和数据库根本无法接收该值。我真的不知道发生了什么。请看下面我的代码: HTML:

                <label>
                  <input type="checkbox" id="consentForEmail" name="consentForEmail" />&nbsp;
                  <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>"

谢谢!

【问题讨论】:

  • 复选框传输为 ON 或根本不传输。它不发送真假。

标签: php forms if-statement


【解决方案1】:

如果未选中复选框,则无论其值是什么,它们都不会与表单一起提交。虽然您可以在复选框&lt;input&gt; 上附加一个值,但要检查的真正测试是输入的name 是否出现:

if (isset($_POST['consentForEmail'])) { 
   ... box was checked 
} else {
   ... box was NOT checked
}

【讨论】:

    猜你喜欢
    • 2023-04-11
    • 1970-01-01
    • 2011-05-12
    • 2015-07-04
    • 1970-01-01
    • 1970-01-01
    • 2017-12-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多