Lagring av valgt verdi i avkrysningsboks etter innsending i PHP

La oss nå gjøre slik at verdien i avkrysningsboksen blir lagret etter innsending. For å gjøre dette sjekker vi om $_GET['flag'] finnes (det vil si at skjemaet ble sendt inn) og er lik én (det vil si at avkrysningsboksen er merket).

Hvis disse to betingelsene er oppfylt, viser vi attributtet checked i avkrysningsboksen:

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>

Sjekken kan forenkles hvis vi vet helt sikkert at det skjulte input-feltet sender 0. I så fall, hvis avkrysningsboksen ikke er merket, vil $_GET['flag'] inneholde '0', og hvis skjemaet ikke er sendt inn ennå, vil den inneholde null.

I begge disse tilfellene skal vi ikke vise checked. Og begge disse tilfellene kan vi fange med funksjonen empty. På denne måten kan vi sjekke at $_GET['flag'] ikke er tom, og bare i dette tilfellet vise 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

Lag tre avkrysningsbokser som vil lagre sin verdi etter innsending.