Передача методом post значения checkbox-a

228
03 августа 2017, 22:49

Здравствуйте.
Сижу, туплю над казалось бы простейшей задачей.

    <form action="" method="post">
.......
    <label><input type="checkbox" name="upakovka" value="Упаковка нужна" /> Упаковать товар</label>
    <label><input type="checkbox" name="dostavka" value="Доставка нужна" /> Доставить до двери</label>
.......
</form>

Получается, что при отправке формы, не важно, чекнуты ли чекбоксы, или нет, всё равно в $_POST['upakovka'] передаётся "Упаковка нужна", и в доставке тоже.

А нужно, чтобы если чекбокс не отмечен, ничего не передавалось.

Что я делаю не так? Спасибо.

Answer 1

Не могу воспроизвести вашу проблему. Хотя код почти такой же, я только value на 1 поменял:

<form action="" method="post"> 
  <label> 
    <input type="checkbox" name="upakovka" value="1"> 
    Упаковать товар 
  </label> 
  <label> 
    <input type="checkbox" name="dostavka" value="1"> 
    Доставить до двери 
  </label> 
  <input type="submit" value="Send"> 
</form> 
<?php 
 
if ($_POST) { 
    var_dump($_POST); 
} 
 
if (isset($_POST['upakovka'])) { 
    var_dump($_POST['upakovka']); 
}

Еще есть такой способ:

<input type="hidden" name="foo" value="0">
<input type="checkbox" name="foo" value="1">
Answer 2

Вы не должны использовать ничего в полях типа "чекбокс" в качестве значения. А если вы хотите чтобы поле было отмечено по умолчанию, используйте слово "checked". В любом случае, когда кто-то поставит/уберет галочку на вашем чекбоксе, значение "checked" появится/исчезнет там автоматически. А рядом (когда уже закрыли тэг) вы можете подписать что хотите Упаковка, Доставка и т.п.

<label><input type="checkbox" name="delivery" checked /> Доставка</label>

А при отправке через "POST" вам нужно лишь проверить наличие переменной

if ( isset($_POST['delivery']) == true ) { echo "Покупатель заказал доставку"; }

READ ALSO
Где можно скачать ckeditor-&gt;article edtitor

Где можно скачать ckeditor->article edtitor

ребята всем привет, подскажите пожалуйста где можно скачать Article Editor(версия CKEditor) искал но не нашёл

179
Добавление шаблонного текста в textarea

Добавление шаблонного текста в textarea

Можно ли как-то добавлять шаблоный текст в <textarea>? Допустим будет кнопка на сайте(реализованная через <a> или <input>), по нажатию на которую...

266
Как вывести список дочерних страниц с кастомными полями Wordpress?

Как вывести список дочерних страниц с кастомными полями Wordpress?

Всем приветТакой вопрос по Wordpress: есть родительская страница, на которую нужно вывести дочерние, на шаблоне страницы есть кастомные поля,...

339