Menyimpan Nilai Terpilih dalam Kotak Semak Selepas Penghantaran dalam PHP
Sekarang mari kita buat supaya nilai
kotak semak disimpan selepas penghantaran. Untuk
ini, kita akan periksa sama ada $_GET['flag']
wujud (iaitu borang telah dihantar)
dan sama dengan satu (iaitu kotak semak ditanda).
Jika kedua-dua syarat ini dipenuhi, maka kita akan paparkan
atribut checked dalam kotak semak:
<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 boleh dipermudahkan jika kita tahu dengan pasti,
bahawa input tersembunyi menghantar 0. Dalam
kes ini, jika kotak semak tidak ditanda, maka dalam $_GET['flag']
akan terkandung '0', dan jika penghantaran
borang belum berlaku, maka akan terkandung null.
Dalam kedua-dua kes ini, kita tidak sepatutnya memaparkan
checked. Dan kedua-dua kes ini boleh
dikesan oleh fungsi empty. Oleh itu
kita boleh menyemak sama ada $_GET['flag']
tidak kosong, dan hanya dalam kes ini paparkan 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 kotak semak, yang akan menyimpan nilainya selepas penghantaran.