Maison  >  Article  >  développement back-end  >  Apprentissage du formulaire PHP : Comment vérifier les champs obligatoires dans le formulaire ?

Apprentissage du formulaire PHP : Comment vérifier les champs obligatoires dans le formulaire ?

WBOY
WBOYoriginal
2021-10-29 11:51:001529parcourir

Dans l'article précédent, je vous ai présenté "Apprentissage des formulaires PHP : saisie et vérification de formulaires", qui présentait en détail les connaissances pertinentes sur la saisie et la vérification de formulaires en PHP. Dans cet article, nous continuerons à examiner comment vérifier. . Champs obligatoires dans le formulaire. J'espère que cela aidera tout le monde !

Apprentissage du formulaire PHP : Comment vérifier les champs obligatoires dans le formulaire ?

Dans l'article précédent, nous avons découvert la saisie dans le formulaire et la simple validation du formulaire via PHP. Lorsque nous saisissons des informations, nous ne serons pas invités même si nos informations ne sont pas saisies. Dans notre vie quotidienne, lorsque nous devons remplir des informations, nous devons remplir certaines informations importantes. Si nous ne les remplissons pas, un message rapide s'affichera nous indiquant où les informations n'ont pas été renseignées.

C'est en fait ce que nous appelons un champ obligatoire. Alors, quel est l'effet de rendre les champs obligatoires obligatoires ? Voyons ensuite comment obtenir les champs obligatoires et les messages d'erreur dans le formulaire.

Champs obligatoires PHP

Nous avons rencontré des champs obligatoires lorsque nous remplissons les informations lors de l'inscription quotidienne. Les champs obligatoires sont ce que nous devons remplir lorsque nous remplissons les informations, sinon il n'y a aucun moyen de passer.

Dans l'article précédent, nous avons introduit les règles de validation du formulaire. Dans l'exemple que nous avons donné, nous avons introduit : les règles de validation du nom sont obligatoires, les règles de validation de l'E-mail sont obligatoires, et il doit l'être. une adresse e-mail valide (contient '@' et '.'). Une règle de validation du genre est requise et une doit être sélectionnée. C'est un domaine obligatoire en notre pouvoir. @'和'.')。性别的验证规则是必须的,必须选择一个。这就是属于我们势力中的必需字段了。

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

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

这些错误变量将显示在必需字段上。 我们还为每个$_POST变量增加了一个if else语句。 这些语句将检查 $_POST 变量是 否为空(使用php的 empty() 函数)。如果为空,将显示对应的错误信息。 如果不为空,数据将传递给test_input()

Dans l'exemple de l'article précédent, tous les champs de saisie étaient facultatifs car nous ne les avons pas validés. Alors, comment pouvons-nous obtenir que les champs obligatoires soient obligatoires ?

À ce stade, nous pouvons ajouter de nouvelles variables au code suivant : $nameErr, $emailErr, $genderErr et $websiteErr.

Ces variables d'erreur seront affichées dans les champs obligatoires. Nous avons également ajouté une instruction if else pour chaque variable $_POST. Ces instructions vérifieront si la variable $_POST est vide (en utilisant la fonction empty() de PHP). S'il est vide, le message d'erreur correspondant s'affichera. Si elles ne sont pas vides, les données seront transmises à la fonction test_input().

Jetons ensuite un coup d'œil à l'application pratique de ces variables :

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

Les résultats de sortie ne sont actuellement pas visibles. Ce code doit vérifier les données du formulaire via le code du formulaire.

La règle de vérification du nom est requise, ainsi que la règle de vérification de l'e-mail, qui doit être une adresse e-mail valide (y compris '@' et '.'). Une règle de validation du genre est requise et une doit être sélectionnée.

Nous ne sommes pas en mesure d'afficher l'erreur via le code ci-dessus. Si nous soumettons sans rien écrire dans les trois champs obligatoires de saisie du nom, de l'e-mail et du sexe, le message d'erreur sera affiché sur la page. S'il n'est pas vide, il sera vérifié, puis le contenu de l'instruction lse sera exécuté. Voyons ensuite comment afficher les informations d'erreur.


Dans l'exemple de formulaire HTML, nous avons ajouté quelques scripts pour chaque champ. Chaque script affichera un message d'erreur lorsque les informations sont mal saisies. Afin d'atteindre l'objectif d'afficher un message d'erreur si l'utilisateur soumet le formulaire sans remplir les informations.

Voyons comment afficher les informations d'erreur à travers un exemple. L'exemple est le suivant : Apprentissage du formulaire PHP : Comment vérifier les champs obligatoires dans le formulaire ?

<!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>

Après avoir transmis les données de vérification, une fois que nous cliquons sur Soumettre sans remplir notre nom, notre adresse e-mail et nos informations de sexe, le résultat de sortie est le suivant :

À partir de l'exemple ci-dessus, nous passez $nameErr, les variables $emailErr, $genderErr et $websiteErr, ainsi que l'instruction ifelse, ainsi que l'affichage des erreurs, complètent les exigences pour remplir les champs obligatoires du formulaire PHP.


Si vous pensez que les rappels textuels ne sont pas assez accrocheurs, il est plus courant dans notre vie quotidienne que lorsque vous cliquez sur Soumettre, une petite fenêtre contextuelle s'affiche ensuite sur la page, afin d'élargir vos connaissances. , voyons comment implémenter des rappels contextuels.

L'exemple est le suivant :Apprentissage du formulaire PHP : Comment vérifier les champs obligatoires dans le formulaire ?

<!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>

Lorsque nous saisissons le résultat normalement, le résultat de sortie est le suivant :

Apprentissage du formulaire PHP : Comment vérifier les champs obligatoires dans le formulaire ?

Lorsque nous ne sortons pas le résultat, la fenêtre contextuelle suivante apparaîtra sur la page . Quel élément n'est pas renseigné le sera. Rappel pop-up : Apprentissage du formulaire PHP : Comment vérifier les champs obligatoires dans le formulaire ?

🎜🎜🎜🎜🎜.

Apprentissage du formulaire PHP : Comment vérifier les champs obligatoires dans le formulaire ?

Si vous êtes intéressé, vous pouvez cliquer sur "Tutoriel vidéo PHP" pour en savoir plus sur les connaissances PHP.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn