PHP Formularvalidierung - Obligatorische Felder
- Vorherige Seite PHP Formularvalidierung
- Nächste Seite PHP Formular URL/E-Mail
Dieser Abschnitt zeigt, wie man obligatorische Eingabefelder erstellt und die Fehlermeldungen erstellt, die bei Bedarf verwendet werden.
PHP - Eingabefeld
Aus den Überprüfungsrulen im vorherigen Abschnitt sehen wir, dass die Felder "Name", "E-Mail" und "Geschlecht" erforderlich sind. Diese Felder dürfen nicht leer sein und müssen in HTML-Formularen ausgefüllt werden.
Feld | Überprüfungsrulen |
---|---|
Name | Erforderlich. Muss Buchstaben und Leerzeichen enthalten. |
Erforderlich. Muss eine gültige E-Mail-Adresse enthalten (inklusive @ und .). | |
Website | Optional. Wenn ausgefüllt, muss eine gültige URL enthalten. |
Kommentar | Optional. Mehrzeiliges Eingabefeld (Textfeld). |
Geschlecht | Erforderlich. Eine Auswahl muss getroffen werden. |
Im vorherigen Abschnitt waren alle Eingabefelder optional.
Im folgenden Code haben wir einige neue Variablen hinzugefügt: $nameErr, $emailErr, $genderErr und $websiteErr. Diese Fehlervariablen speichern die Fehlermeldungen der angeforderten Felder. Wir haben auch jedem $_POST-Variablen ein if-else-Statement hinzugefügt. Dieses Statement überprüft, ob das $_POST-Variablen leer ist (durch die PHP-Funktion empty()). Wenn es leer ist, wird die Fehlermeldung in einer anderen Fehlervariable gespeichert. Wenn es nicht leer ist, wird die Benutzerinputdaten durch die Funktion test_input() gesendet:
<?php}} // Variablen definieren und auf leer setzen $nameErr = $emailErr = $genderErr = $websiteErr = ""; $name = $email = $gender = $comment = $website = ""; if ($_SERVER["REQUEST_METHOD"] == "POST") { if (empty($_POST["name"])) { $nameErr = "Name ist erforderlich"; } else { $name = test_input($_POST["name"]); } if (empty($_POST["email"])) { $emailErr = "E-Mail ist erforderlich"; } else { $email = test_input($_POST["email"]); } if (empty($_POST["website"])) { $website = ""; } else { $website = test_input($_POST["website"]); } if (empty($_POST["comment"])) { $comment = ""; } else { $comment = test_input($_POST["comment"]); } if (empty($_POST["gender"])) { $genderErr = "Das Geschlecht ist erforderlich"; } else { $gender = test_input($_POST["gender"]); } } ?>
PHP - Fehlermeldungen anzeigen
In HTML-Formularen fügen wir nach jedem angeforderten Feld ein kleines Skript hinzu. Wenn erforderlich, werden angemessene Fehlermeldungen generiert (wenn der Benutzer versucht, das Formular ohne Ausfüllen obligatorischer Felder zu submiten):
Beispiel
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> Name: <input type="text" name="name"> <span class="error">* <?php echo $nameErr;?></span> <br><br> E-Mail: <input type="text" name="email"> <span class="error">* <?php echo $emailErr;?></span> <br><br> Website: <input type="text" name="website"> <span class="error"><?php echo $websiteErr;?></span> <br><br> <label>Kommentar: <textarea name="comment" rows="5" cols="40"></textarea></label> <br><br> Geschlecht: <input type="radio" name="gender" value="female">Weiblich <input type="radio" name="gender" value="male">Männlich <span class="error">* <?php echo $genderErr;?></span> <br><br> <input type="submit" name="submit" value="Submit"> </form>
Dazu gehören die Validierung der Eingabedaten, d.h. „Ist das Name-Feld nur aus Buchstaben und Leerzeichen besteht?“ sowie „Ist das E-Mail-Feld eine gültige E-Mail-Adresse?“ und falls das Website-Feld ausgefüllt wurde, „Enthält dieses Feld eine gültige URL?“.
- Vorherige Seite PHP Formularvalidierung
- Nächste Seite PHP Formular URL/E-Mail