Сохранение выбранного значения в чекбоксе после отправки в PHP

Давайте теперь сделаем так, чтобы значение чекбокса сохранялось после отправки. Для этого проверим, что $_GET['flag'] существует (то есть была отправка формы) и равен единице (то есть флажок отмечен).

Если эти два условия выполняются, то выведем в чекбоксе атрибут checked:

html<form action="" method="GET">
  <input type="hidden" name="flag" value="0">
  <input
    type="checkbox"
    name="flag" <?php
      if (isset($_GET['flag']) and $_GET['flag'] === '1')
        echo 'checked';
      ?>
    >
  <input type="submit">
</form>

Проверку можно упростить, если мы точно знаем, что скрытый инпут передает 0. В таком случае, если чекбокс не отмечен, то в $_GET['flag'] будет лежать '0', а если отправки формы еще не было, то будет лежать null.

В обоих этих случаях мы не должны выводить checked. И оба этих случая мы можем поймать функцией empty. Таким образом мы можем проверить, что $_GET['flag'] не пуст, и только в этом случае вывести checked:

html<form action="" method="GET">
  <input type="hidden" name="flag" value="0">
  <input
    type="checkbox"
    name="flag"
    value="1"
    <?php if (!empty($_GET['flag'])) echo 'checked' ?>
  >
  <input type="submit">
</form>
Задание 1

Сделайте три чекбокса, которые будут сохранять свое значение после отправки.