Отправка формы PHP: «false» не передается в

0

У меня есть форма, которая вставляет пользовательский ввод в базу данных 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>"

Спасибо!

  • 0
    Флажок передает либо как ON, либо не передает вообще. Он не передает истину и ложь.
Теги:
if-statement
forms

1 ответ

1
Лучший ответ

Флажки не передаются вместе с формой, если они не проверяются, независимо от их значения. Пока вы МОЖЕТЕ иметь значение, прикрепленное к флажку <input>, реальный тест для проверки заключается в том, появляется ли name ввода вообще:

if (isset($_POST['consentForEmail'])) { 
   ... box was checked 
} else {
   ... box was NOT checked
}
  • 0
    Ах !!!! Вот почему. Спасибо вам большое!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню