Aus den Validierungsregeln 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 im HTML-Formular ausgefüllt werden.
Feldvalidierungsregeln
Name erforderlich. Muss Buchstaben und Leerzeichen enthalten.
E-Mail erforderlich. Muss eine gültige E-Mail-Adresse enthalten (einschließlich @ und .).
Website optional. Falls optional, muss eine gültige URL angegeben werden.
Kommentar optional. Mehrzeiliges Eingabefeld (Textfeld).
Geschlecht erforderlich. Eines muss ausgewählt 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 enthalten die Fehlermeldung für das angeforderte Feld. Wir haben außerdem jeder $_POST-Variablen eine if else-Anweisung hinzugefügt. Diese Anweisung prüft, ob die Variable $_POST leer ist (über die PHP-Funktion empty()). Wenn leer, wird die Fehlermeldung in einer anderen Fehlervariablen gespeichert. Wenn nicht leer, werden Benutzereingabedaten über die Funktion test_input() gesendet:
<?php // 定义变量并设置为空值 $nameErr = $emailErr = $genderErr = $websiteErr = ""; $name = $email = $gender = $comment = $website = ""; if ($_SERVER["REQUEST_METHOD"] == "POST") { if (empty($_POST["name"])) { $nameErr = "Name is required"; } else { $name = test_input($_POST["name"]); } if (empty($_POST["email"])) { $emailErr = "Email is required"; } 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 = "Gender is required"; } else { $gender = test_input($_POST["gender"]); } } ?>
PHP - Fehlermeldung anzeigen
Im HTML-Formular fügen wir nach jedem angeforderten Feld ein wenig hinzu Skript. Bei Bedarf wird eine entsprechende Fehlermeldung generiert (wenn der Benutzer versucht, das Formular abzusenden, ohne die erforderlichen Felder auszufüllen):
Instanz
<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>Comment: <textarea name="comment" rows="5" cols="40"></textarea> <br><br> Gender: <input type="radio" name="gender" value="female">Female <input type="radio" name="gender" value="male">Male <span class="error">* <?php echo $genderErr;?></span> <br><br> <input type="submit" name="submit" value="Submit"> </form>
<!DOCTYPE HTML> <html> <head> <style> .error {color: #FF0000;} </style> </head> <body> <?php // 定义变量并设置为空值 $nameErr = $emailErr = $genderErr = $websiteErr = ""; $name = $email = $gender = $comment = $website = ""; if ($_SERVER["REQUEST_METHOD"] == "POST") { if (empty($_POST["name"])) { $nameErr = "姓名是必填的"; } else { $name = test_input($_POST["name"]); } if (empty($_POST["email"])) { $emailErr = "电邮是必填的"; } 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 = "性别是必选的"; } else { $gender = test_input($_POST["gender"]); } } function test_input($data) { $data = trim($data); $data = stripslashes($data); $data = htmlspecialchars($data); return $data; } ?> <h2>PHP 验证实例</h2> <p><span class="error">* 必需的字段</span></p> <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> 姓名:<input type="text" name="name"> <span class="error">* <?php echo $nameErr;?></span> <br><br> 电邮:<input type="text" name="email"> <span class="error">* <?php echo $emailErr;?></span> <br><br> 网址:<input type="text" name="website"> <span class="error"><?php echo $websiteErr;?></span> <br><br> 评论:<textarea name="comment" rows="5" cols="40"></textarea> <br><br> 性别: <input type="radio" name="gender" value="female">女性 <input type="radio" name="gender" value="male">男性 <span class="error">* <?php echo $genderErr;?></span> <br><br> <input type="submit" name="submit" value="提交"> </form> <?php echo "<h2>您的输入:</h2>"; echo $name; echo "<br>"; echo $email; echo "<br>"; echo $website; echo "<br>"; echo $comment; echo "<br>"; echo $gender; ?> </body> </html>
PHP-Validierungsbeispiel
* Erforderlich Felder
Name: * >Website:
Kommentare:
Geschlecht: Weiblich Männlich
Ihre Eingabe: