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
| Règles de validation
| ||||||||||||
Nom< /td> | Obligatoire. +Ne peut contenir que des lettres et des espaces<🎜> | ||||||||||||
Obligatoire. + 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 :
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 ?".