Форма обратной связи, которая показывает новую страницу, а затем возвращается на домашнюю страницу?

0

У меня есть основная контактная форма на моем сайте, которая отлично работает. Когда он отправляется, хотя он открывает пустую страницу с "Спасибо"... Я бы хотел открыть открытую веб-страницу с надписью "отправлено успешно" в течение примерно 3 секунд, а затем вернется на главную страницу. Я совершенно новичок в веб-дизайне и, в особенности, PHP, поэтому, если бы кто-нибудь мог дать какие-то советы, которые были бы замечательными. Я поставил PHP-код ниже:

<?php 
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$formcontent = "From: $name \r\n Message: $message";
$recipient = "[email protected]";
$mailheader = "From: $email \r\n";
mail($recipient, $message, $formcontent, $mailheader) or die("Error!");
echo "Thank You!";
?>
  • 0
    Вы даже не отправляете форму?
  • 0
    Я проверил это дважды, и оба письма приходят в почтовый ящик.
Показать ещё 1 комментарий
Теги:
forms

2 ответа

1

Пытаться:

<?php 

$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$formcontent = "From: $name \r\n Message: $message";
$recipient = "[email protected]";
$mailheader = "From: $email \r\n";
mail($recipient, $message, $formcontent, $mailheader) or die("Error!");

?><!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="refresh" content="3; url=http://mysite.com/contact.php">
    </head>
    <body>
       <p>Submitted successfully</p>
    </body>
</html>

Если сообщение отправлено, появится сообщение "Отправлено успешно". Через три секунды он будет перенаправлен на http://mysite.com/contact.php. Измените http://mysite.com/contact.php на URL, к которому хотите вернуться.

  • 0
    Я собирался ответить на это, но разве он не должен добавить отправку? Как я думаю, он использует кнопку
  • 0
    @Loko Я думаю, что он отправляет его с другой страницы.
Показать ещё 5 комментариев
0

Хотя ответ Уэйна Уитти прав, у меня есть еще одна заметка/ответ:

Для перенаправления через 3 секунды используйте это:

<meta http-equiv="refresh" content="3;url=http://YOURPAGE.php">

Я вижу, что вы перенаправляетесь с другой страницы, но это бесполезно. Вы также можете просто разместить это на главной странице и использовать это только для перенаправления после отправки. (Форма является примером, я не знаю, как выглядит ваша форма)

<form action="register.php" method="post">
Username <input type="text" name="name">
Password <input type="text" name="email">
Message <input type="text" name="message">
<input name="register" type="submit" value="Register">
</form>


<?php 
if (isset($_POST['name'])) {
echo'<meta http-equiv="refresh" content="3;url=http://YOURPAGE.php">';
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$formcontent = "From: $name \r\n Message: $message";
$recipient = "[email protected]";
$mailheader = "From: $email \r\n";
mail($recipient, $message, $formcontent, $mailheader) or die("Error!");
echo "submitted successfully";
}
?>

Также просто замените: echo "Thank You!"; с echo "submitted successfully";

  • 0
    Спасибо за вашу помощь.
  • 0
    @ user2970070 у тебя сработало? Если да, не забудьте принять ответ. Кроме того, если ответ Уэйна Уиттиса был более полезным, то все должны принять его ответ.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню