валидация — Как остановить перенаправление формы после отображения сообщения об ошибке в PHP?

Как избежать повторной отправки формы в следующем случае — в моем HTML-файле есть форма, которая отправляет данные себе для проверки. Включено в ту же страницу, до <!DOCTYPE html> тег является обязательным оператором PHP. Это получает содержимое файла с именем process.php и проверяет данные пользователей. Если данные неверны, то они успешно показывают сообщение об ошибке. Если данные верны, он отправляет электронное письмо. — Это все работает нормально, однако, если пользователь возвращается «нажимает стрелку назад» и обновляет страницу, то он запрашивает повторную отправку данных. Как мне избежать этой проблемы.

<?php require("inc/process.php"); end(); ?>
<!DOCTYPE html>
<html>
<head>
<title>Page one</title>
</head>
<body>

<div class="form-box">

<!--Display error message PHP-->
<?php
if (isset($error_msg)) {
$show_error = "<p class='error-message'>" . $error_msg . "</p>";
echo strip_tags($show_error, '<p>');
}
?>

<form method="post" action="index.html">
<input name="full-name" type="text">
<input name="email" type="email">
</form>

</div></body>
</html>

0

Решение

ну лучше всего использовать jquery ajax, например:

$("#FormID").submit(function(e) {

var url = "path/to/your/script.php"; // the script where you handle the form input.

$.ajax({
type: "POST",
url: url,
data: $("#FormID").serialize(), // serializes the form's elements.
})

// when the request is succesfull
.done(function( data ) {
alert(data); // show response from the php script.
})

// when an error occurs
.fail(function() {
alert( "error" );
});

e.preventDefault(); // avoid to execute the actual submit of the form. (no redirection)

});
0

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

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

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