Păstrarea valorii selectate în caseta de bifare după trimitere în PHP
Să facem acum ca valoarea
casetei de bifare să fie păstrată după trimitere. Pentru
aceasta, verificăm dacă $_GET['flag']
există (adică a avut loc trimiterea formularului)
și este egal cu unu (adică caseta este bifată).
Dacă aceste două condiții sunt îndeplinite, atunci afișăm
în caseta de bifare atributul 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>
Verificarea poate fi simplificată dacă știm cu exactitate
că câmpul ascuns transmite 0. În acest
caz, dacă caseta de bifare nu este bifată, atunci în $_GET['flag']
va fi '0', iar dacă formularul nu a fost
încă trimis, atunci va fi null.
În ambele cazuri nu trebuie să afișăm
checked. Și ambele cazuri le putem
detecta cu funcția empty. Astfel
putem verifica dacă $_GET['flag']
nu este gol și numai în acest caz să afișăm 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>
Realizați trei casete de bifare, care vor păstra valoarea lor după trimitere.