In diesem Kapitel stellen wir vor, wie Sie die erforderlichen Formularfelder und Fehlermeldungen festlegen.
Im vorherigen Kapitel haben wir die Validierungsregeln für die Tabelle eingeführt. Wir können sehen, dass die Felder „Name“, „E-Mail“ und „Geschlecht“ erforderlich sind und jedes Feld nicht leer sein darf.
Feld | Validierungsregeln |
---|---|
Name | Erforderlich. + darf nur Buchstaben und Leerzeichen enthalten |
Erforderlich. + Muss eine gültige E-Mail-Adresse enthalten (enthält „@“ und „.“) | |
URL | Optional. Falls vorhanden, muss es eine gültige URL enthalten |
Bemerkung | Optional. Mehrzeilige Felder (Textfelder). |
Geschlecht | Erforderlich. Erforderlich, um eines auszuwählen. |
Wie in den vorherigen Kapiteln sind alle Eingabefelder optional.
Im folgenden Code haben wir einige neue Variablen hinzugefügt: $nameErr, $emailErr, $genderErr und $websiteErr. Diese Fehlervariablen werden in den erforderlichen Feldern angezeigt. Wir haben außerdem eine if else-Anweisung für jede $_POST-Variable hinzugefügt. Diese Anweisungen prüfen, ob die Variable $_POST leer ist (mithilfe der Funktion empty() von PHP). Wenn es leer ist, wird die entsprechende Fehlermeldung angezeigt. Wenn nicht leer, werden die Daten an die Funktion test_input() übergeben:
<?php// Variablen definieren und standardmäßig auf leere Werte 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 = "Geschlecht ist erforderlich." } else { $gender = test_input($_POST["gender"]); }}?>
Im folgenden HTML-Beispielformular haben wir zu jedem Feld einige Skripte hinzugefügt. Jedes Skript zeigt eine Fehlermeldung an, wenn die Informationen falsch eingegeben werden. (Wenn der Benutzer das Formular absendet, ohne die Informationen auszufüllen, wird eine Fehlermeldung ausgegeben):
<form method="post" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']);?>"> Name: <input type="text" name="name"> <span>* <? php echo $nameErr;?></span> <br><br> E-Mail: <input type="text" name="email"> <span>* <?php echo $emailErr;?></span > <br><br> Website: <input type="text" name="website"> <span><?php echo $websiteErr;?></span> <br><br> Bemerkungen: <textarea name=" comment" rows="5" cols="40"></textarea> <br><br> Geschlecht: <input type="radio" name="gender" value="female">Weiblich<input type="radio " name="Geschlecht" value="male">Männlich<span>* <?php echo $genderErr;?></span> <br><br> <input type="submit" name="submit" value="Submit"> </ Formular>