Formulaire PHP - champs obligatoires

Je ne sais pas si vous avez remarqué que lorsque nous allons en ligne, certains sites Web nous demandent de créer un compte. Lorsque nous enregistrons un compte, nous devons remplir des informations si nous avons des informations importantes que nous n'avons pas. rempli, il y aura une invite pour nous. Nous vous indiquons ce qui doit être rempli. Dans ce chapitre, nous expliquerons les champs obligatoires et les messages d'erreur du formulaire.


PHP - Champs obligatoires

Les champs obligatoires sont ce que nous devons remplir lorsque nous remplissons les informations, sinon il n'y a aucun moyen de passer ,

Dans le chapitre précédent nous avons introduit les règles de validation du formulaire. Nous pouvons voir que les champs "Nom", "E-mail" et "Sexe" sont obligatoires. C'est ce qui est requis sur le terrain.

Champ
            字段         验证规则
    名字必须。 +只能包含字母和空格
    E-mail必须。 + 必须是一个有效的电子邮件地址(包含'@'和'.')
Règles de validation
    网址可选。如果存在,它必须包含一个有效的URL
    评论可选。 多行输入字段(文本域)
    性别必须。 必须选择一个
Nom< /td>Obligatoire. +Ne peut contenir que des lettres et des espaces<🎜>
E-mailObligatoire. + Doit être une adresse e-mail valide (contient '@' et '.') <🎜>
<🎜>

Dans la section précédente, tous les champs de saisie étaient facultatifs car nous ne les avons pas validés.

Dans le code suivant, nous avons ajouté de nouvelles variables : $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 vide() de PHP). S'il est vide, le message d'erreur correspondant s'affichera. S'il n'est pas vide, les données seront transmises à la fonction test_input() :

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

La signification du Le code ci-dessus est que si nous soumettons sans rien écrire dans les trois champs obligatoires de nom, e-mail et sexe, alors le message d'erreur correspondant sera affiché sur la page, quel nom est requis et l'e-mail est requis. S'il n'est pas vide, la vérification sera réussie et le contenu de l'instruction else sera exécuté.

Mais le code ci-dessus ne peut pas afficher le message d'erreur. Regardons en bas.


PHP - Afficher un message d'erreur

Dans l'exemple de formulaire HTML suivant, nous avons ajouté quelques scripts pour chaque champ. Chaque script affichera une erreur lorsque les informations sont mal saisies. information. (Si l'utilisateur soumet le formulaire sans remplir les informations, un message d'erreur sera affiché) :

Exemple

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

Dans l'exemple ci-dessus, si nous soumettons sans remplir le contenu dans les zones de saisie avec *, la page suivante s'affichera :

2.png

Passe quand même.


L'étape suivante consiste à valider les données saisies, c'est-à-dire "Le champ Nom contient-il uniquement des lettres et des espaces ?", et "Le champ E-mail contient-il une syntaxe d'adresse e-mail valide ?", et si le champ Site Web est rempli, "Ce champ contient-il une URL valide ?".


Formation continue
||
<!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>
soumettreRéinitialiser le code
  • Recommandations de cours
  • Téléchargement du didacticiel