Champs obligatoires et facultatifs des formulaires pour débutants en 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 "sexe" sont obligatoires et ne peuvent pas être vides.
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"]); } } ?>
Afficher un message d'erreur
Dans l'exemple HTML suivant, nous fournissons un Plusieurs scripts ont été ajoutés, chacun d'eux affichera des messages d'erreur lorsque des informations incorrectes sont saisies. (Si l'utilisateur soumet le formulaire sans remplir les informations, un message d'erreur sera affiché) :
<!DOCTYPE html> <html> <head> <title>php中文网</title> </head> <body> <form method="post" action=""> 名字: <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> </body> </html>