A kiválasztott érték megőrzése a jelölőnégyzetben küldés után PHP-ben

Most tegyük úgy, hogy a jelölőnégyzet értéke megmaradjon a küldés után. Ehhez ellenőrizni kell, hogy a $_GET['flag'] létezik-e (vagyis volt-e űrlapküldés) és egyenlő-e eggyel (vagyis a jelölőnégyzet be van-e pipálva).

Ha ez a két feltétel teljesül, akkor írjuk ki a jelölőnégyzetbe a checked attribútumot:

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>

Az ellenőrzés leegyszerűsíthető, ha pontosan tudjuk, hogy a rejtett input a 0 értéket továbbítja. Ebben az esetben, ha a jelölőnégyzet nincs bepipálva, akkor a $_GET['flag'] értéke '0' lesz, ha pedig még nem volt űrlapküldés, akkor null lesz az értéke.

Mindkét esetben nem szabad kiírnunk a checked attribútumot. Mindkét esetet elkaphatjuk a empty függvénnyel. Így ellenőrizhetjük, hogy a $_GET['flag'] nem üres, és csak ekkor írjuk ki a checked attribútumot:

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

Készítsen három jelölőnégyzetet, amelyek megőrzik az értéküket a küldés után.