Pažymėtos reikšmės išsaugojimas varnelėje po siuntimo PHP
Dabar padarykime taip, kad varnelės reikšmė
būtų išsaugoma po siuntimo. Tam
patikrinkime, ar $_GET['flag']
egzistuoja (tai reiškia, kad buvo siunčiama forma)
ir yra lygi vienetui (tai reiškia, kad varnelė pažymėta).
Jei šios dvi sąlygos tenkinamos, tada varnelėje
atvaizduosime 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>
Patikrinimą galima supaprastinti, jei tiksliai žinome,
kad paslėptas įvesties laukas perduoda 0. Tokiu
atveju, jei varnelė nepažymėta, tai $_GET['flag']
bus '0', o jei formos
siuntimo dar nebuvo, tai bus null.
Abiem šiais atvejais mes neturime atvaizduoti
checked. Ir abu šiuos atvejus galime
aptikti funkcija empty. Taigi
galime patikrinti, ar $_GET['flag']
nėra tuščias, ir tik tada atvaizduoti 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>
Sukurkite tris varneles, kurios išsaugos savo reikšmę po siuntimo.