Die behoud van die gekose waarde in 'n merkbox na stuur in PHP

Laat ons dit nou so maak dat die waarde van die merkbox behou bly na stuur. Vir hiërdie, gaan ons kyk of $_GET['flag'] bestaan (dit beteken die vorm is gestuur) en gelyk is aan een (dit beteken die merk is gemerk).

As hierdie twee voorwaardes waar is, dan voer ons die attribuut checked in die merkbox uit:

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>

Die kontrole kan vereenvoudig word as ons presies weet, dat die versteekte invoer 0 stuur. In so 'n geval, as die merkbox nie gemerk is nie, sal $_GET['flag'] die waarde '0' bevat, en as die vorm nog nie gestuur is nie, sal dit null bevat.

In albei hierdie gevalle moet ons nie die checked attribuut uitskryf nie. En albei hierdie gevalle kan ons vang met die funksie empty. Dus kan ons kyk of $_GET['flag'] nie leeg is nie, en net in hierdie geval die checked uitskryf:

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

Maak drie merkboxe wat hul waarde sal behou na stuur.