Ausgewählten Wert in Checkbox nach dem Senden in PHP beibehalten

Lassen Sie uns nun dafür sorgen, dass der Wert der Checkbox nach dem Senden erhalten bleibt. Dazu prüfen wir, ob $_GET['flag'] existiert (das heißt, das Formular wurde gesendet) und gleich eins ist (das heißt, das Häkchen ist gesetzt).

Wenn diese beiden Bedingungen erfüllt sind, geben wir in der Checkbox das Attribut checked aus:

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 Prüfung kann vereinfacht werden, wenn wir genau wissen, dass das versteckte Input-Feld 0 überträgt. In einem solchen Fall, wenn die Checkbox nicht markiert ist, liegt in $_GET['flag'] '0', und wenn das Formular noch nicht gesendet wurde, liegt null darin.

In beiden diesen Fällen sollten wir checked nicht ausgeben. Und beide diese Fälle können wir mit der Funktion empty erfassen. Somit können wir prüfen, dass $_GET['flag'] nicht leer ist, und nur in diesem Fall checked ausgeben:

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

Erstellen Sie drei Checkboxen, die ihre Werte nach dem Senden beibehalten.