我在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?
答案 0 :(得分:0)
确保在header
来电之前没有输出。 <?php
之前的任何回声或任何空格都会破坏它。
header("location:...")
需要一个绝对URI。
header("location: http://www.site.tld/thanks");
header("location: /thanks");
应立即跟随exit
。
header("location: http://www.site.tld/thanks"); exit;