Ohranjanje izbrane vrednosti v potrditvenem polju po pošiljanju v PHP
Naj naredimo tako, da se vrednost
potrditvenega polja ohrani po pošiljanju. Za
to preverimo, da $_GET['flag']
obstaja (kar pomeni, da je bil obrazec poslan)
in je enak ena (kar pomeni, da je potrditveno polje označeno).
Če sta ti dve pogoj izpolnjena, izpišemo
v potrditvenem polju 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>
Preverjanje je mogoče poenostaviti, če natančno vemo,
da skriti input pošlje 0. V takem
primeru, če potrditveno polje ni označeno, bo v $_GET['flag']
vrednost '0', če pa obrazec še
ni bil poslan, bo vrednost null.
V obeh teh primerih ne smemo izpisati
checked. Oba primera lahko
ujamemo s funkcijo empty. Tako
lahko preverimo, da $_GET['flag']
ni prazen, in samo v tem primeru izpišemo 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>
Naredite tri potrditvena polja, ki bodo ohranila svojo vrednost po pošiljanju.