PHP mailer Пользовательская страница подтверждения? - PullRequest
0 голосов
/ 19 февраля 2012

Я не PHP-парень, поэтому я гуглил и нашел простой код для контактной формы через kirupa.com Все отлично работает, однако я бы с удовольствием предоставил пользовательскую страницу благодарности вместо этого пользователи получают простой эхо-текст «Данные были отправлены на ваш@email.com!» на белой пустой странице.

Моя контактная форма: http://leongaban.com/contact.html

Вот код PHP:

<?php
   if(isset($_POST['submit'])) {
   $to = "your@email.com";
   $subject = "Form My website";
   $name_field = $_POST['name'];
   $email_field = $_POST['email'];
   $message = $_POST['message'];

   $body = "From: $name_field\n E-Mail: $email_field\n Message:\n $message";

   echo "Data has been submitted to $to!";
    mail($to, $subject, $body);
    } else {
    echo "error! :'(";
    }
?>

Как мне отредактировать этот код, чтобы он служил пользователям на странице thankyou.html после отправки электронного письма?

Ответы [ 3 ]

3 голосов
/ 19 февраля 2012
    if(isset($_POST['submit']))
    {
        $to = "your@email.com";
        $subject = "Form My website";
        $name_field = $_POST['name'];
        $email_field = $_POST['email'];
        $message = $_POST['message'];

        $body = "From: $name_field\n E-Mail: $email_field\n Message:\n $message";


        if(mail($to, $subject, $body))
        {
            header("Location: http://yourdomain/thankyoupage.php");
        }
        else
        {
          echo "Error !";
        } 
   }
2 голосов
/ 19 февраля 2012

Вы можете использовать заголовок для перенаправления на страницу:


if(mail($to, $subject, $body)) {
  header("Location: http://your/thankyou/page/url");
  exit;
}
else{
 ...
}

Вы имели в виду что-то вроде этого

1 голос
/ 19 февраля 2012

использовать функцию заголовка http://php.net/manual/en/function.header.php

<?php
   if(isset($_POST['submit'])) {
   $to = "your@email.com";
   $subject = "Form My website";
   $name_field = $_POST['name'];
   $email_field = $_POST['email'];
   $message = $_POST['message'];

    $body = "From: $name_field\n E-Mail: $email_field\n Message:\n $message";
    mail($to, $subject, $body);
    header('Location:  thankyou.html');

    } 
else {
    echo "error! :'(";
    }
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...