Menyimpan Nilai yang Dipilih dalam Checkbox setelah Pengiriman di PHP
Sekarang mari kita buat agar nilai
checkbox tetap tersimpan setelah dikirim. Untuk
itu, periksa apakah $_GET['flag']
ada (artinya form telah dikirim)
dan sama dengan satu (artinya checkbox dicentang).
Jika kedua kondisi ini terpenuhi, maka tampilkan
atribut checked pada checkbox:
<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>
Pemeriksaan dapat disederhanakan jika kita tahu persis,
bahwa input tersembunyi mengirimkan 0. Dalam
kasus seperti ini, jika checkbox tidak dicentang, maka $_GET['flag']
akan berisi '0', dan jika form belum
pernah dikirim, maka akan berisi null.
Dalam kedua kasus ini, kita tidak boleh menampilkan
checked. Dan kedua kasus ini dapat kita
tangkap dengan fungsi empty. Dengan demikian
kita dapat memeriksa bahwa $_GET['flag']
tidak kosong, dan hanya dalam kasus ini tampilkan 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>
Buat tiga checkbox, yang akan menyimpan nilainya setelah pengiriman.