Att bevara markerat värde i kryssruta efter insändning i PHP

Låt oss nu se till att värdet i kryssrutan bevaras efter insändning. För att göra detta kontrollerar vi att $_GET['flag'] finns (det vill säga formuläret har skickats) och är lika med ett (det vill säga kryssrutan är markerad).

Om dessa två villkor är uppfyllda, skriver vi ut attributet checked i kryssrutan:

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>

Kontrollen kan förenklas om vi vet säkert att det dolda input-fältet skickar 0. I sådant fall, om kryssrutan inte är markerad, kommer $_GET['flag'] innehålla '0', och om formuläret ännu inte har skickats, kommer den innehålla null.

I båda dessa fall ska vi inte skriva ut checked. Och båda dessa fall kan vi fånga med funktionen empty. På så sätt kan vi kontrollera att $_GET['flag'] inte är tom, och endast i detta fall skriva ut 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

Skapa tre kryssrutor som kommer att bevara sitt värde efter insändning.