PHP Formulaire - Champs obligatoires
Dans ce chapitre, nous allons présenter comment définir les champs de formulaire obligatoires et les messages d'erreur.
PHP - Champs obligatoires
Dans le chapitre précédent, nous avons présenté les règles de validation de formulaire. Nous pouvons voir que les champs « Nom », « E-mail » et « Genre » sont obligatoires, et que chaque champ ne peut pas être vide.
| Champ | Règles de validation |
|---|---|
| Name | Obligatoire. + Ne peut contenir que des lettres et des espaces |
| Obligatoire. + Doit contenir une adresse e-mail valide (contient « @ » et « . ») | |
| URL | Facultatif. Si présent, doit contenir une URL valide |
| Remarques | Facultatif. Champ multiligne (textarea). |
| Genre | Obligatoire. Vous devez en sélectionner un. |
Dans les chapitres précédents, tous les champs de saisie étaient facultatifs.
Dans le code suivant, nous avons ajouté de nouvelles variables : $nameErr, $emailErr, $genderErr et $websiteErr. Ces variables d'erreur seront affichées sur 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). Si elle est vide, le message d'erreur correspondant sera affiché. Si elle 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"]);
}
}
?>
PHP - Afficher les messages d'erreur
Dans l'exemple de formulaire HTML suivant, nous avons ajouté des scripts pour chaque champ. Chaque script affichera un message d'erreur lorsque les informations saisies sont incorrectes. (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>
Autres extensions