Нигоҳ доштани арзиши интихобшуда дар чекбокс пас аз фиристодан дар PHP
Биёед акнун чунон кунем, ки арзиши
чекбокс пас аз фиристодан нигоҳ дошта шавад. Барои
ин тафтиш мекунем, ки $_GET['flag']
мавҷуд аст (яъне формы фиристода шудааст)
ва ба як баробар аст (яъне флагча интихоб шудааст).
Агар ин ду шарт иҷро шаванд, пас дар чекбокс
сифати 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>
Санҷишро мумкин аст сода кард, агар мо дақиқ медонем,
ки вуруди пинҳонӣ 0-ро мефиристад. Дар чунин
ҳолат, агар чекбокс интихоб нашуда бошад, пас дар $_GET['flag']
'0' хоҳад буд, ва агар ҳанӯз формы
фиристода нашуда бошад, пас null хоҳад буд.
Дар ҳар дуи ин ҳолатҳо мо набояд
checked-ро барорем. Ва ҳар дуи ин ҳолатҳоро мо
метавонем бо функсияи empty бигирем. Ҳамин тавр
мо метавонем тафтиш кунем, ки $_GET['flag']
холӣ нест, ва фақат дар ин ҳолат 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>
Се чекбокс созед, ки арзиши худро пас аз фиристодан нигоҳ доранд.