Почему эта форма запроса не отображает сообщения об ошибках?

У меня есть форма запроса на странице, созданной с использованием Material Design Lite Library, форма находится в последнем разделе страницы. Код формы HTML ниже:

<div class="mdl-cell mdl-cell--6-col">
<h1 class = "enquiry--header"> Enquiry </h1>
<form method="post" action = "index.php">
<div class = "mdl-textfield mdl-js-textfield">
<input type = "text" id="name" name = "name" class = "mdl-textfield__input name" value="<?php echo htmlspecialchars($_POST['name']); ?>">
<label class="mdl-textfield__label" for="name">Name</label>
</div>
<?php echo "<p class = 'message'>$errName</p>";?>
<div class = "mdl-textfield mdl-js-textfield">
<input type = "text" id="email" name = "email" class = "mdl-textfield__input email" value="<?php echo htmlspecialchars($_POST['email']); ?>">
<label class="mdl-textfield__label" name = "email" for="email">Email</label>
</div>
<?php echo "<p class = 'message'>$errEmail</p>";?>
<div class = "mdl-textfield mdl-js-textfield">
<textarea type = "text" id="enquiry" name = "enquiry" class = "mdl-textfield__input enquiry"  value="<?php echo htmlspecialchars($_POST['enquiry']); ?>" name = "enquiry"></textarea>
<label class="mdl-textfield__label" for="email">Your Enquiry</label>
</div>
<?php echo "<p class = 'message'>$errMessage</p>";?>
</form>
<div id = "submit" name = "submit" type = "submit" class="mdl-button mdl-js-button mdl-button--raised mdl-button--colored mdl-color--grey-900  mdl-js-ripple-effect">
Send
</div>
<?php echo $result;?>
</div>

Код PHP:

$name = null;
$email = null;
$message = null;
$from = null;
$to = null;
$subject = null;
$errName = null;
$errEmail = null;
$errMessage = null;
$errResult = null;
if (isset($_POST["submit"])) {
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$from = 'Contact-Us';
$to = '[email protected]';
$subject = 'Enquiry';

$body = "From: $name\n E-Mail: $email\n Message:\n $message";

// Check if name has been entered
if (!$_POST['name']) {
$errName = 'Please enter your name';
}

// Check if email has been entered and is valid
if (!$_POST['email'] || !filter_var($_POST['email'],   FILTER_VALIDATE_EMAIL)) {
$errEmail = 'Please enter a valid email address';
}

//Check if message has been entered
if (!$_POST['message']) {
$errMessage = 'Please enter your message';
}if (!$errName && !$errEmail && !$errMessage) {
if (mail ($to, $subject, $body, $from)) {
$result='<div class="success">Thank You! We will reply shortly</div>';
$_POST = array();
} else {
$result='<div class="error">Your message could not be sent.</div>';
}
}
}
?>

Результат div не обновляется, и сообщения об ошибках не отображаются при отправке формы, поскольку поля остаются пустыми. Я использую MAMP, чтобы проверить это локально.

0

Решение

Попробуйте добавить error_reporting(E_ALL) Прямо под вашим <?php открывающий тег, чтобы убедиться, что в отчете об ошибках отображаются все.

-2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]