2013-06-11 144 views
0

我已經在PHP中創建了一個聯繫表單。表單工作正常,併發送消息,但當我嘗試將用戶重定向到我的謝謝頁面時,我收到一個頭文件已發送消息。提交後重定向表單感謝頁面

我開始形式:

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

而對於receiving.php的PHP代碼:

<?php 

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

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

{ 
$from_add = "[email protected]"; 

$to_add = "[email protected]"; 

$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

下面是解http://stackoverflow.com/questions/4459204/seeing-cannot-modify-header-information-error-when-attempting-to-redirect – Kevin

+1

當你去完成通過重複你可能想要讀一些關於頭部注入的主題 – PeeHaa

回答

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; 
    
+1

它不是關於在頭後面放置'exit「,或者使用絕對URI我認爲它是關於輸出緩衝。 – samayo

+1

輸出緩衝問題只是一個問題。如果我可以幫助更多的事情,那麼我正在解決問題,而不僅僅是症狀。 –

+0

嗨喬,我試過了,我仍然得到相同的錯誤:警告:不能修改標題信息 - 標題已發送 –

相關問題