Как сохранить в checkbox два значения true и false

Выводим на сайте HTML форму checkbox и записываем в неё с помощью PHP значения истина или ложь. Проверяем пуст ли этот чекбокс и ставим галочку включенной или отключённой. Записывать данные будем в произвольное поле WordPress.

С помощью нижеследующих функций, мы можем внедрить какие-то административные функции у себя на сайте. Именно оттуда привожу данный пример, но конечно же эти функции можно применять гораздо шире.

Пример формы на сайте, которую мы можем создать:

В примере она будет упрощена до одного чекбокса и кнопки отправить. Другие данные на скрине приведены лишь в качестве примера и в данной статье не нужны.

Для того чтобы записывать пустые значения в checkbox нужно выводить перед основной формой input почти точно такой же input, но скрытый и пустым значением value:

Если этого не сделать, то пустые значения (когда вы сняли галочку) обновляться не будут. Более того, в примере ниже, после очередного обновления страницы будет затираться значение истина.

Обычно в подобных примерах показывают, что form action="" содержит ссылку на файл, который будет обрабатывать нашу форму. Часто же это не пригождается. Вместо ссылки на файл оставляем пустое значение, а код для работы этой формы пишем следом за формой HTML.

Код для вывода формы HTML:

Следующий за ним код будет обрабатывать нашу форму:

Теперь, если мы поставим галочку и нажмём на кнопку применить, то в данном случае файл перезакачается на новый, а требуемая галочка будет отмечена. Тем самым мы видим какая из функций сейчас включена.

Разбор кода подробнее

В форме HTML можно увидеть следующее:

Это проверка на значение произвольного поля в WordPress. У меня для этого сделана отдельная функция. Этот участок кода вам нужно заменить самостоятельно, я оставил его для себя, чтобы сохранить оригинал кода. Без этой функции этот участок должен выглядеть так (меняете на него):

Этим мы проверяем есть ли данные в произвольном поле first_checkbox. Если они там имеются мы ставим в HTML форму значение checked. Тем самым даём понять браузеру, чтобы он показал там галочку. Если данные пустые, то галочка стоять не будет.

Как проверить значения Checkbox

Здесь мы проверяем Checkbox на Checked. Если галочка выставлена, то в нужное значение произвольного поля (в примере это first_checkbox) ставим цифру 1.

Как удалить значение в checkbox

Наоборот, если галочки нет, то удаляем произвольное поле first_checkbox.

Очень важно в структуре else указать else if и конкретно значение произвольного поля, то что оно пустое.

Если этого не сделать, а сделать просто else без уточнения, то при обновлении страницы значение произвольного поля будут удаляться само по себе. Обработчик формы будет полагать, что вы поставили пустое значение в неё и обновили страницу. Когда на самом деле вы ничего такого не делали.

Как обновить страницу form action

В конце участка видим такой PHP:

С помощью isset($_POST[‘submit’]) мы проверяем была ли нажата кнопка submit. Если да, то обновляем страницу.

Таким образом страница будет обновлена 2 раза. Первый раз когда мы отправим данные. Они запишутся в произвольные поля. Сразу после этого страница почти мгновенно обновится ещё раз и мы увидем, что на нужном свойстве установлена галочка checked.

English Query (запросы по теме на английском языке)

How to read if a checkbox is checked in PHP

Check if checkbox is checked based on value using PHP

How to refresh a php page on form submit

Checking to see if a checkbox is checked

How to automatically refresh the page after submitting a form

Привет. Ты находишься на моём сайте. Я разработчик. Здесь я делюсь своими наработками и знаниями. Спрашивай в комментариях, если тебе что-то не понятно или пиши, если есть что добавить.

Если вам пригодилась информация, вы можете поблагодарить автора сайта символическим пожертвованием:

Добавить комментарий

Напишите свой комментарий, если вам есть что добавить/поправить/спросить по теме текущей статьи: "Как сохранить в checkbox два значения true и false".

Ваш e-mail не будет опубликован. Обязательные поля помечены *