Мне нужна небольшая помощь в структурировании веб-формы для включения проверки PHP и сообщений об ошибках, размещенных в правильном месте формы, если отправка не удалась. Я только что собрал простую форму с некоторыми случайными правилами валидации только для подтверждения концепции, прежде чем вводить фактическую информацию о форме и валидацию, которые мне требуются, в структуру.
Вот мой код: -
<?php
if($_POST['name'] && $_POST['email']) {
$errors = array();
$name = $_POST['name'];
$email = $_POST['email'];
if (strlen($name) > 10) {
$errors['name'] = 'Name is too long';
}
if(empty($name) || empty($email)) {
$errors['required'] = 'All fields required';
}
}
if(empty($errors) && $_POST) {
echo 'Your form has been submitted';
} elseif ($errors || !$_POST) {
?>
<form name="form" action="index.php" method="post">
<?PHP if (isset($errors['required'])) { echo $errors['required'];} ?>
Name:<br>
<input type="text" name="name" value="<?php echo $name ?>"><?PHP if (isset($errors['name'])){ echo $errors['name']; } ?><br>
Email<br>
<input type="text" name="email"><br>
<input type="submit" name="submit" value="submit">
</form>
<?PHP }
?>
Результатом чего является то, что моя форма показывает и отправляет, но проверка как бы игнорируется. Если любая из проверок приводит к ошибке, а не к ошибкам, отображаемым в форме, страница просто возвращает пустое, без сообщений об ошибках или формы. Кто-нибудь может посоветовать, пожалуйста, где я ошибаюсь?
Любая помощь будет принята с благодарностью!
Спасибо, Бен (Если вы не догадались, что я новичок в PHP и HTML!)