обработка чекбоксов в форме

PHP — обработка чекбоксов в форме

Привет всем! Сегодня — небольшой конспект по вопросу: обработка чекбоксов в форме с помощью PHP. Это — своеобразное продолжение этой записи, но рассматривающее пункт чекбокса более углубленно. Надеюсь, вам пригодится.

Итак, что такое чекбокс? Поле, в котором можно поставить галочку в знак согласия с тем или иным пунктом. Делается чекокс в форме очень просто:

<input id="checkbox" name="checkbox" type="checkbox" />

Ну ок, чекбокс сделали, а как передать данные его состояния дальше? Для примера давайте создадим простую форму, которая будет состоять только из чекбокса и кнопки «Далее», и разберем все подробно. Итак, имеется код:
<form id="form1" action="form_ok_result.php" method="post" name="form1"><input id="check_id" name="check_id" type="checkbox" /><label for="check_id">Согласен или нет?</label>
<input id="button_id" name="button_id" type="submit" value="Далее" />
</form>

который в рабочем виде явит нам форму:



Теперь разберем код формы чуть подробнее:
Строка:

<form id="form1" action="form_ok_result.php" method="post" name="form1"></form>

говорит о том, что мы создали форму с названием form1, которая будет передавать данные методом POST (об том чуть позже), а обработка всех данных, полученных из формы будет происходить в файле с названием form_ok_result.php»

Строка:

<input id="check_id" name="check_id" type="checkbox" /> <label for="check_id">Согласен или нет?</label>

говорит о том, что мы создали чекбокс с названием check_id и таким же id, причем — сам пункт (подсказка) чекбокса будет подписан: «Согласен или нет?».
И теперь — добавляем кнопку, по клику на которую мы передаем все данные из формы в файл, в котором будет производиться обработка данных:

<input id="button_id" name="button_id" type="submit" value="Далее" />

Напомню, что обработка всей информации, полученной из таблицы у нас происходит в файле с названием form_ok_result.php, а значит — нужно разобраться, как устроен этот файл. Устроен он очень просто:

<?php
$checkbox_result = isset($_POST['check_id']) ? "Согласен" : "Не согласен";
//$checkbox_result = isset($_POST['check_id']);
echo "Результат:"."<br />".$checkbox_result;
?>

Как всегда — для лучшего понимания разберем код построчно:

$checkbox_result = isset($_POST['check_id']) ? "Согласен" : "Не согласен";
  • создаем переменную $checkbox_result, которая состоит из результата проверки переменной (команда isset). Если переменная существует — выводится единица, если нет — выводится ничего. Мы же говорим: проверь-ка переменную $checkbox_result, и если она существует — выведи слово «Согласен». А если не существует — выведи «Не согласен». Причем! Значение (существует эта переменная или нет) мы получаем из обработки массива $_POST (вы же помните, что у нас форма передает значения через POST? ;)), а в качестве маркера — где искать значение — используется id нашего чекбокса.
//$checkbox_result = isset($_POST['check_id']);

эта строка сейчас представлена в виде комментария — но если вы вдруг захотите увидеть, что выдаст команда isset в режиме «по-умолчанию» — раскоментируйте ее.

echo "Результат:"."<br />".$checkbox_result;

И, наконец, выводим результат. Как вы помните (наверняка) — в PHP в строке можно вывести значение переменной и текста. Для этого нужно только скопоновать их с помощью точки. Все просто!

Пример работы всего кода, который мы рассмотрели в этой записи — доступен по ссылке.
Как всегда — в случае возникновения вопросов пишите на почту, или в Телеграм.