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:
<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:
<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>
Erstellen Sie drei Checkboxen, die ihre Werte nach dem Senden beibehalten.