PHP-ում նշված արժեքի պահպանումը checkbox-ում ուղարկելուց հետո

Հիմա եկեք անենք, որ checkbox-ի արժեքը պահպանվի ուղարկելուց հետո: Դրա համար ստուգենք, որ $_GET['flag'] գոյություն ունի (այսինքն՝ ֆորման ուղարկվել է) և հավասար է մեկի (այսինքն՝ նշված է):

Եթե այս երկու պայմանները բավարարվում են, ապա կտպենք checkbox-ում checked ատրիբուտը:

html<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:

html<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>
Задание 1

Ստեղծեք երեք checkbox, որոնք կպահպանեն իրենց արժեքը ուղարկելուց հետո: