Valitud väärtuse salvestamine märkeruudus pärast saatmist PHP-s

Teeme nüüd nii, et märkeruudu väärtus salvestub pärast saatmist. Selleks kontrollime, et $_GET['flag'] eksisteerib (ehk vorm on saadetud) ja võrdub ühega (ehk märkeruut on märgitud).

Kui need kaks tingimust on täidetud, siis kuvame märkeruudus atribuudi 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>

Kontrolli saab lihtsustada, kui me teame kindlalt, et peidetud input saadab 0. Sellisel juhul, kui märkeruut pole märgitud, siis $_GET['flag'] sisaldab '0', aga kui vormi saatmist pole veel toimunud, siis sisaldab null.

Mõlemal neist juhtudest me ei pea kuvama checked. Ja mõlemad need juhtumid saame tabada funktsiooniga empty. Seega saame kontrollida, et $_GET['flag'] ei ole tühi, ja ainult sel juhul kuvada 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

Loo kolm märkeruutu, mis salvestavad oma väärtuse pärast saatmist.