在php中提交表单后没有重定向

时间:2013-05-14 10:12:27

标签: php html form-submit

提交表单后,我无法重定向到成功的页面。

<?php
ob_start();
?>
<title>Feel Free to send us your Thoughts</title>
<?php
$to         ='sanaullahkhan81@gmail.com';
$name       =$_POST['name'];
$email      =$_POST['email'];
$message    =$_POST['message'];
$subject    ='Enquiry using Contact us page from:  '.$name ;
$actul_msg  ='A Message from Contact Us Page'. "\n".'Name: '.$name."\n".' Eamil: 
'.$email."\n" .' Enquiry: '.$message;
mail($to,$subject,$actul_msg);
header('Location: sucessfully_submitted.html');
ob_end_clean();
?>

这是a link

成功页面的链接 这是a link

3 个答案:

答案 0 :(得分:5)

手册如何说:http://www.php.net/manual/en/function.header.php

  

请记住,在发送任何实际输出之前,必须通过普通HTML标记,文件中的空行或PHP来调用header()。

<?php

$to         ='sanaullahkhan81@gmail.com';
$name       =$_POST['name'];
$email      =$_POST['email'];
$message    =$_POST['message'];
$subject    ='Enquiry using Contact us page from:  '.$name ;
$actul_msg  ='A Message from Contact Us Page'. "\n".'Name: '.$name."\n".' Eamil: 
'.$email."\n" .' Enquiry: '.$message;
mail($to,$subject,$actul_msg);
header('Location: http://www.yourdomain.com/sucessfully_submitted.html');

?>

答案 1 :(得分:0)

谢谢大家 我找到了答案。我按照这些步骤。 在顶部添加了ob_start();。 最后添加了ob_end_clean();。 在页面的第一行开始我的<?php,没有空格

答案 2 :(得分:-1)

标题位置始终需要是绝对URI(http://yourdomain.com/foo.html

header("Location: http://www.example.com/");(参见php doc

来自php.net的参考

  

注意:

     

HTTP / 1.1需要绝对URI作为»Location:includes的参数   方案,主机名和绝对路径,但有些客户接受   相对URI。你通常可以使用$ _SERVER ['HTTP_HOST'],   $ _SERVER ['PHP_SELF']和dirname()从a创建一个绝对URI   相对一个人