Pažymėtos reikšmės išsaugojimas varnelėje po siuntimo PHP

Dabar padarykime taip, kad varnelės reikšmė būtų išsaugoma po siuntimo. Tam patikrinkime, ar $_GET['flag'] egzistuoja (tai reiškia, kad buvo siunčiama forma) ir yra lygi vienetui (tai reiškia, kad varnelė pažymėta).

Jei šios dvi sąlygos tenkinamos, tada varnelėje atvaizduosime atributą 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>

Patikrinimą galima supaprastinti, jei tiksliai žinome, kad paslėptas įvesties laukas perduoda 0. Tokiu atveju, jei varnelė nepažymėta, tai $_GET['flag'] bus '0', o jei formos siuntimo dar nebuvo, tai bus null.

Abiem šiais atvejais mes neturime atvaizduoti checked. Ir abu šiuos atvejus galime aptikti funkcija empty. Taigi galime patikrinti, ar $_GET['flag'] nėra tuščias, ir tik tada atvaizduoti 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

Sukurkite tris varneles, kurios išsaugos savo reikšmę po siuntimo.