Zusammenfassung: In diesem Tutorial erfahren Sie, wie Sie mit PHP ein Formular mit einem oder mehreren Kontrollkästchen verarbeiten.
Eine kurze Einführung in das Checkbox-Element
Mit einem Kontrollkästchen können Sie einen einzelnen Wert für die Übermittlung in einem Formular auswählen. Um ein Kontrollkästchen zu erstellen, verwenden Sie das Element input
mit dem Typ checkbox
wie folgt:
Code language: HTML, XML (xml)
Ein Kontrollkästchen hat zwei Zustände: aktiviert und deaktiviert.
Wenn Sie das Kontrollkästchen aktivieren und das Formular mit der Methode POST
senden, enthält das assoziative Array $_POST
ein Element mit dem Schlüssel checkbox_name
und dem Wert checkbox_value
.
Code language: PHP (php)
Wenn Sie jedoch das Kontrollkästchen deaktivieren und das Formular absenden, enthält $_POST
kein Element mit dem Schlüssel checkbox_name
. Es bedeutet, dass der folgende Ausdruck zurückgibt false
:
Code language: PHP (php)
Um zu überprüfen, ob ein Kontrollkästchen aktiviert ist, können Sie auch die Funktion filter_has_var()
wie folgt verwenden:
Code language: JavaScript (javascript)
Die Funktion filter_has_var()
gibt true
zurück, wenn checkbox_name
in INPUT_POST
vorhanden ist.
Ein Kontrollkästchen hat keine Bezeichnung. Daher sollten Sie immer ein Kontrollkästchen mit einem <label>
-Element wie folgt verwenden:
Code language: HTML, XML (xml)
In diesem Beispiel entspricht der Wert des Attributs for
des Elements <label>
dem Wert des Attributs id
des Kontrollkästchens. Wenn Sie ein Etikett einem Kontrollkästchen zuordnen, können Sie auf das Etikett klicken, um das Kontrollkästchen zu aktivieren oder zu deaktivieren.
Eine andere Möglichkeit, ein Kontrollkästchen einem Etikett zuzuordnen, besteht darin, das Kontrollkästchen folgendermaßen in das Etikett einzufügen:
Code language: HTML, XML (xml)
In diesem Fall müssen Sie nicht das Attribut id
für das Kontrollkästchen und das Attribut for
für die Beschriftung angeben.
Ein einfaches PHP-Checkbox-Beispiel
Wir erstellen ein einfaches Formular mit einem Kontrollkästchen und einer Senden-Schaltfläche.
Erstellen Sie zunächst die folgende Verzeichnis- und Dateistruktur:
Code language: plaintext (plaintext)
Datei | Verzeichnis | Beschreibung |
---|---|---|
index.php | . | Enthält die Hauptlogik, die get lädt.php oder post.php abhängig von der HTTP-Anforderungsmethode |
kopfzeile.php | inc | Enthält den Header-Code |
fußzeile.php | inc | Enthält den Fußzeilencode |
bekommen.php | inc | Enthält den Code zum Anzeigen eines Formulars mit einem Kontrollkästchen, wenn die HTTP-Anforderung GET lautet. |
posten.php | inc | Enthält den Code für die Behandlung der POST-Anfrage |
.htaccess | inc | Verhindert den direkten Zugriff auf die Dateien im inc-Verzeichnis |
stil.css | css | Enthält den CSS-Code |
index.php
Fügen Sie zweitens den folgenden Code zur index.php
-Datei hinzu:
Code language: PHP (php)
Das index.php
lädt das Formular aus der get.php
-Datei, wenn die HTTP-Anforderungsmethode GET ist. Und es lädt die post.php
-Datei, wenn das Formular gesendet wird.
Die Variable $errors
wird zum Speichern von Fehlermeldungen verwendet.
Kopfzeile.php
Drittens fügen Sie den folgenden Code in die header.php
-Datei ein:
Code language: HTML, XML (xml)
fußzeile.php
Viertens enthält die footer.php
-Datei die umschließenden Tags, die den öffnenden Tags aus der header.php
-Datei entsprechen:
Code language: HTML, XML (xml)
bekommen.php
Fünftens erstellen Sie ein Formular in der get.php
-Datei:
Code language: PHP (php)
posten.php
Fügen Sie sechstens den folgenden Code zur post.php
-Datei hinzu, um die Formulardaten zu bereinigen und zu validieren:
Code language: PHP (php)
Zusammenfassung
- Verwenden Sie
isset()
oderfilter_has_var()
, um zu überprüfen, ob ein Kontrollkästchen aktiviert ist oder nicht.