PHP-ում նշված արժեքի պահպանումը checkbox-ում ուղարկելուց հետո
Հիմա եկեք անենք, որ checkbox-ի արժեքը
պահպանվի ուղարկելուց հետո: Դրա համար ստուգենք, որ
$_GET['flag']
գոյություն ունի (այսինքն՝ ֆորման ուղարկվել է)
և հավասար է մեկի (այսինքն՝ նշված է):
Եթե այս երկու պայմանները բավարարվում են, ապա կտպենք
checkbox-ում 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>
Ստուգումը կարելի է պարզեցնել, եթե մենք հաստատ գիտենք,
որ թաքնված input-ը փոխանցում է 0: Այդ դեպքում,
եթե checkbox-ը նշված չէ, ապա $_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>
Ստեղծեք երեք checkbox, որոնք կպահպանեն իրենց արժեքը ուղարկելուց հետո: