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:
<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:
<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>
Készítsen három jelölőnégyzetet, amelyek megőrzik az értéküket a küldés után.