Formulaire PHP - Champs obligatoires
Dans ce chapitre, nous présenterons comment définir les champs obligatoires et les messages d'erreur du formulaire.
PHP - Champs obligatoires
Dans le chapitre précédent nous avons introduit les règles de validation du tableau, on peut voir "Nom", "E-mail", et Les champs « Sexe » sont obligatoires et chaque champ ne peut pas être vide.
Champs
Si dans le chapitre précédent, tous les champs de saisie sont facultatifs.
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. Si elles ne sont pas vides, 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"]); } } ?>
PHP - Afficher un message d'erreur
Dans l'exemple de formulaire HTML suivant, Des scripts ont été ajoutés à chaque champ qui afficheront des messages d'erreur si des informations incorrectes sont saisies. (Si l'utilisateur soumet le formulaire sans remplir les informations, un message d'erreur sera affiché) :
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> 名字: <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> 网址: <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="Submit"> </form>