Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Formularlernen: Wie überprüfe ich die erforderlichen Felder im Formular?

PHP-Formularlernen: Wie überprüfe ich die erforderlichen Felder im Formular?

WBOY
WBOYOriginal
2021-10-29 11:51:001459Durchsuche

Im vorherigen Artikel habe ich Ihnen „PHP-Formularlernen: Formulareingabe und -überprüfung“ vorgestellt, in dem die relevanten Kenntnisse der Formulareingabe und -überprüfung in PHP ausführlich vorgestellt wurden. In diesem Artikel werden wir uns weiterhin mit der Überprüfung befassen . Erforderliche Felder im Formular. Hoffe, es hilft allen!

PHP-Formularlernen: Wie überprüfe ich die erforderlichen Felder im Formular?

Im vorherigen Artikel haben wir etwas über die Eingabe in das Formular und die einfache Validierung des Formulars durch PHP gelernt. Wenn wir Informationen eingeben, werden wir nicht dazu aufgefordert, auch wenn unsere Informationen nicht eingegeben werden. Wenn wir in unserem täglichen Leben Informationen eingeben müssen, müssen wir einige wichtige Informationen eingeben. Wenn wir diese nicht ausfüllen, wird eine Meldung angezeigt, die uns mitteilt, dass die Informationen nicht ausgefüllt wurden.


Das ist eigentlich das, was wir ein Pflichtfeld nennen. Wie wirkt es sich also aus, wenn die Pflichtfelder obligatorisch sind? Schauen wir uns dann an, wie Sie die erforderlichen Felder und Fehlermeldungen im Formular erhalten.

PHP-Pflichtfelder

Bei der Eingabe der Informationen sind uns bei der täglichen Registrierung Pflichtfelder aufgefallen. Die Pflichtfelder müssen ausgefüllt werden, wenn wir die Informationen eingeben, sonst gibt es keine Möglichkeit, zu bestehen.

Im vorherigen Artikel haben wir die Validierungsregeln des Formulars eingeführt. In dem von uns gegebenen Beispiel haben wir Folgendes eingeführt: Die Validierungsregeln des Namens sind erforderlich, die Validierungsregeln der E-Mail sind erforderlich und dies muss der Fall sein eine gültige E-Mail-Adresse (enthält „@“ und „.“). Eine Geschlechtsvalidierungsregel ist erforderlich und muss ausgewählt werden. Dies ist ein Pflichtfeld in unserer Macht.

@'和'.')。性别的验证规则是必须的,必须选择一个。这就是属于我们势力中的必需字段了。

在之前文章的示例中,所有输入字段都是可选的,因为我们没有对它们进行验证。那要怎样才能实现必需字段必填的效果呢?

这时候我们可以在以下代码中我们加入了一些新的变量: $nameErr, $emailErr, $genderErr, 和 $websiteErr

这些错误变量将显示在必需字段上。 我们还为每个$_POST变量增加了一个if else语句。 这些语句将检查 $_POST 变量是 否为空(使用php的 empty() 函数)。如果为空,将显示对应的错误信息。 如果不为空,数据将传递给test_input()Im Beispiel aus dem vorherigen Artikel waren alle Eingabefelder optional, da wir sie nicht validiert haben. Wie können wir also den Effekt erzielen, dass Pflichtfelder erforderlich sind?

Zu diesem Zeitpunkt können wir dem folgenden Code einige neue Variablen hinzufügen: $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 PHP-Funktion empty()). Wenn es leer ist, wird die entsprechende Fehlermeldung angezeigt. Wenn nicht leer, werden die Daten an die Funktion test_input() übergeben.

Als nächstes werfen wir einen Blick auf die tatsächliche Anwendung dieser Variablen:

<?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"]);
     }
 }
 ?>

Die Ausgabeergebnisse sind derzeit nicht sichtbar. Dieser Code muss die Formulardaten über den Formularcode überprüfen.

Die Namensüberprüfungsregel ist erforderlich, und die E-Mail-Überprüfungsregel ist erforderlich, bei der es sich um eine gültige E-Mail-Adresse (einschließlich „@“ und „.“) handeln muss. Eine Geschlechtsvalidierungsregel ist erforderlich und muss ausgewählt werden.

Wir können den Fehler mit dem obigen Code nicht anzeigen, ohne etwas in die drei erforderlichen Eingabefelder für Name, E-Mail und Geschlecht einzugeben, wird die Fehlermeldung auf der Seite angezeigt. Wenn es nicht leer ist, wird es überprüft und dann wird der Inhalt der lse-Anweisung ausgeführt. Schauen wir uns dann an, wie die Fehlerinformationen angezeigt werden.

Im HTML-Beispielformular haben wir für jedes Feld einige Skripte hinzugefügt. Jedes Skript zeigt eine Fehlermeldung an, wenn die Informationen falsch eingegeben werden. Um den Zweck zu erreichen, eine Fehlermeldung auszugeben, wenn der Benutzer das Formular absendet, ohne die Informationen auszufüllen.

Schauen wir uns anhand eines Beispiels an, wie Fehlerinformationen angezeigt werden. Das Beispiel lautet wie folgt:

<!DOCTYPE html>
 <html lang="en">
 <head>
     <meta charset="UTF-8">
     <title>PHP中文网</title>
 </head>
 
 <style>
     .error {color: #FF0000;}
 </style>
 <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-Formularlernen: Wie überprüfe ich die erforderlichen Felder im Formular?Nachdem wir die Verifizierungsdaten übergeben haben und auf „Senden“ geklickt haben, ohne unseren markierten Namen, unsere E-Mail-Adresse und unsere Geschlechtsinformationen einzugeben, lautet das Ausgabeergebnis wie folgt:

Aus dem obigen Beispiel haben wir übergeben Sie $nameErr, Die Variablen $emailErr, $genderErr und $websiteErr sowie die ifelse-Anweisung vervollständigen zusammen mit der Fehleranzeige die Anforderungen zum Ausfüllen der erforderlichen Felder im PHP-Formular.

Wenn Sie der Meinung sind, dass die Texterinnerung nicht auffällig genug ist, kommt es in unserem täglichen Leben häufiger vor, dass beim Klicken auf „Senden“ ein kleines Popup-Fenster auf der Seite „Weiter“ angezeigt wird, um es zu erweitern Schauen wir uns nach unserem Wissen an, wie man Popup-Erinnerungen implementiert.

Das Beispiel sieht wie folgt aus:

<!DOCTYPE html>
 <html lang="en">
 <head>
     <meta charset="UTF-8">
     <title>PHP中文网</title>
 </head>
 
 <style>
     .error {color: #FF0000;}
 </style>
 <body>
 <?php
 // 定义变量并设置为空值
 $nameErr = $emailErr = $genderErr = $websiteErr = "";
 $name = $email = $gender = $comment = $website = "";
 
 if ($_SERVER["REQUEST_METHOD"] == "POST") {
     if (empty($_POST["name"])) {
         $nameErr = "<script language=\"javascript\">
         //声明标识符
        
        {
        
        alert(\"姓名是必填的\"); //弹出对话框
        
        }
        
        </script>";
     } else {
         $name = test_input($_POST["name"]);
     }
 
     if (empty($_POST["email"])) {
         $emailErr = "<script language=\"javascript\">
         //声明标识符
        
        {
        
        alert(\"电邮是必填的\"); //弹出对话框
        
        }
        
        </script>";
     } 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 = "<script language=\"javascript\">
         //声明标识符
        
        {
        
        alert(\"性别是必选的\"); //弹出对话框
        
        }
        
        </script>";
     } 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="提交" onclick="MsgBox()">
     
 </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-Formularlernen: Wie überprüfe ich die erforderlichen Felder im Formular?Wenn wir das Ergebnis normal eingeben, ist das Ausgabeergebnis wie folgt:

PHP-Formularlernen: Wie überprüfe ich die erforderlichen Felder im Formular?

Wenn wir das Ergebnis nicht ausgeben, erscheint das folgende Popup-Fenster auf der Seite . Welches Element nicht ausgefüllt ist, wird ausgefüllt. Popup-Erinnerung:

PHP-Formularlernen: Wie überprüfe ich die erforderlichen Felder im Formular?

🎜🎜🎜🎜

PHP-Formularlernen: Wie überprüfe ich die erforderlichen Felder im Formular?

Bei Interesse können Sie auf „PHP-Video-Tutorial“ klicken, um mehr über PHP-Kenntnisse zu erfahren.

Das obige ist der detaillierte Inhalt vonPHP-Formularlernen: Wie überprüfe ich die erforderlichen Felder im Formular?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn