Het geselecteerde waarde in een checkbox behouden na verzending in PHP

Laten we het nu zo maken dat de waarde van de checkbox behouden blijft na verzending. Om dit te doen controleren we of $_GET['flag'] bestaat (dat wil zeggen, het formulier is verzonden) en gelijk is aan één (dat wil zeggen, het vinkje is aangevinkt).

Als aan deze twee voorwaarden is voldaan, geven we in de checkbox het attribuut checked 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>

De controle kan worden vereenvoudigd als we precies weten dat het verborgen input veld 0 doorgeeft. In zo'n geval, als de checkbox niet is aangevinkt, dan ligt er in $_GET['flag'] de waarde '0', en als het formulier nog niet was verzonden, dan ligt er null.

In beide gevallen moeten we checked niet uitvoeren. En beide gevallen kunnen we opvangen met de functie empty. Op deze manier kunnen we controleren dat $_GET['flag'] niet leeg is, en alleen in dat geval checked uitvoeren:

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 checkboxes die hun waarde behouden na verzending.