提交后重定向表单以感谢页面

时间:2013-06-11 19:38:55

标签: php forms redirect

我在PHP中创建了一个联系表单。表单工作正常并发送邮件,但当我尝试将用户重定向到我的感谢页面时,我收到一个已发送邮件的邮件。

我的表单开始:

<form name="myform" id="myform" class="form-foot" action="/receiving.php" method="post">

receive.php的PHP代码是:

<?php 

$name = $_POST['name']; 
$email = $_POST['email']; 
$message = $_POST['message']; 

if(isset($_POST['submit']))

{
$from_add = "mysite@mysite.com"; 

$to_add = "mysite@mysite.com"; 

$subject = "Contact Form";

$message = "
Name:$name \n 
Email: $email \n 
Message: $message \n 

$headers = "From: $from_add \r\n";
$headers .= "Reply-To: $from_add \r\n";
$headers .= "Return-Path: $from_add\r\n";
$headers .= "X-Mailer: PHP \r\n";


if(mail($to_add,$subject,$message,$headers)) 
{
    Header("Location: /thanks");
} 
}


?>

成功提交后,如何将用户重定向到www.mysite.com/thanks?

1 个答案:

答案 0 :(得分:0)

  1. 确保在header来电之前没有输出。 <?php之前的任何回声或任何空格都会破坏它。

  2. header("location:...")需要一个绝对URI。

    header("location: http://www.site.tld/thanks");
    
  3. header("location: /thanks");应立即跟随exit

    header("location: http://www.site.tld/thanks"); exit;