Čuvanje izabrane vrednosti u čekboks nakon slanja u PHP
Hajde sada da napravimo da se vrednost
čekboksa sačuva nakon slanja. Za
ovo proveravamo da li $_GET['flag']
postoji (to jest, da li je bilo slanja forme)
i da li je jednako jedinici (to jest, da li je polje za potvrdu označeno).
Ako su ova dva uslova ispunjena, onda ispisujemo
u čekboks atribut checked:
<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>
Proveru možemo pojednostaviti ako tačno znamo,
da skriveni input šalje 0. U takvoj
situaciji, ako čekboks nije označen, onda u $_GET['flag']
će biti '0', a ako slanje
forme još nije bilo, onda će biti null.
U oba ova slučaja ne treba da ispisujemo
checked. I oba ova slučaja možemo
uhvatiti funkcijom empty. Tako
možemo proveriti da li $_GET['flag']
nije prazan, i samo u tom slučaju ispisati checked:
<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>
Napravite tri čekboksa koji će čuvati svoju vrednost nakon slanja.