В этой главе мы покажем, как установить обязательные поля формы и сообщения об ошибках.
В предыдущей главе мы представили правила проверки для таблицы. Мы видим, что поля «Имя», «Электронная почта» и «Пол» являются обязательными, и каждое поле не может быть пустым.
Поле | Правила валидации |
---|---|
имя | Необходимый. + может содержать только буквы и пробелы |
Электронная почта | Необходимый. + Должен содержать действительный адрес электронной почты (содержит «@» и «.») |
URL-адрес | Необязательный. Если он присутствует, он должен содержать действительный URL-адрес. |
Примечание | Необязательный. Многострочные поля (текстовые поля). |
пол | Необходимый. Требуется выбрать один. |
Как и в предыдущих главах, все поля ввода являются необязательными.
В следующем коде мы добавили несколько новых переменных: $nameErr, $emailErr, $genderErr и $websiteErr. Эти переменные ошибок будут отображаться в обязательных полях. Мы также добавили оператор if else для каждой переменной $_POST. Эти операторы проверят, пуста ли переменная $_POST (с помощью функции PHP пустой()). Если он пуст, будет отображено соответствующее сообщение об ошибке. Если не пусто, данные будут переданы в функцию 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["электронная почта"]); } if (пусто($_POST["веб-сайт"])) { $website = "" } else { $website = test_input($_POST["веб-сайт"]); } if (пустой($_POST["комментарий"])) { $comment = "" } else { $comment = test_input($_POST["комментарий"]); if (empty($_POST["gender"])) { $genderErr = "Укажите пол." } else { $gender = test_input($_POST["пол"]); }}?>
В следующем примере HTML-формы мы добавили несколько сценариев в каждое поле. Каждый сценарий будет отображать сообщение об ошибке, если информация введена неправильно. (Если пользователь отправит форму без заполнения информации, будет выдано сообщение об ошибке):
<form Method="post" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']);?>"> Имя: <input type="text" name="name"> <span>* <? php echo $nameErr;?></span> <br><br> Электронная почта: <input type="text" name="email"> <span>* <?php echo $emailErr;?></span > <br><br> Веб-сайт: <input type="text" name="website"> <span><?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="пол" value="male">Мужской<span>* <?php echo $genderErr;?></span> <br><br> <input type="submit" name="submit" value="Submit"> </ форма>