2014-01-18 30 views
0

好奇的是,當填寫並提交聯繫表單時,發送電子郵件的以下php代碼有什麼問題。該郵件到達完美,但不是重定向它提供了以下錯誤:我的PHP電子郵件代碼有什麼問題;它不會重定向到感謝頁

警告:不能更改頭信息 - 頭已經發出(輸出開始/home4/ranchoba/public_html/marvan/marvan/send.php:1 )in /home4/ranchoba/public_html/marvan/marvan/send.php on line 112

我已經嘗試通過表單中的動作調用php文件以及通過放置在第一行這一頁。兩者都不起作用。

PHP代碼:

<?php 
error_reporting(E_ALL); ini_set('display_errors', 1); 
//if the form is submitted, go ahead and send the email to ops 
ob_start(); 

if ($_POST['is_form_submitted'] == "yes") 
{ 
//Send email to ops of this request----------------------------------------------------------------------------------- 

// multiple recipients 

$to = '[email protected]'; 

// subject 

$subject = "Contact Request: ".$_POST['name']; 

// message 
$message = ' 
<html> 
<head> 
<title>Re: Marvan Site Contact Request</title> 
<style type="text/css"> 
<!-- 
.style4 {font-family: Arial, Helvetica, sans-serif; font-size: 12; } 
.style5 {font-size: 12} 
.style6 {font-family: Arial, Helvetica, sans-serif; font-size: 12; font-weight: bold; } 
--> 
</style> 
</head> 
<body>'; 
$message=$message.' 
<table width="450" border="0" align="center" cellpadding="4" cellspacing="0" style="border-color:#CCCCCC; border-style:solid; border-width:1px; background-color:#FFFFFF; padding-top:3px;">&nbsp; 
    <tr> 
    <td width="430" style="height:auto;" valign="top">'; 

$message=$message.'<img src="http://www.blah.com/blah/images/logo.png">'; 

$message=$message.'<hr>'; 

$message=$message.'<h2 style="font-family:Arial, Helvetica, sans-serif; color:#B58736">Contact Request </h2>'; 

$message=$message.' 
<table width="486" border="0" align="center" cellpadding="4" cellspacing="2"> 
     <tr> 
     <td colspan="4" valign="top"><div align="left" class="style4"><span style="color:#000000; font-weight:bold;">Contact Details: </span></div></td> 
     </tr> 

     <tr> 
     <td width="145" valign="top"><div align="left" class="style4">Name :</div></td> 
     <td width="1" valign="top"><span class="style5"></span></td> 
     <td width="984" colspan="2" valign="top"><div align="left" class="style6">'; 
      $message = $message. $_POST['name']; 
      $message = $message.'</div></td> 
     </tr> 
     <tr> 
     <td valign="top"><div align="left" class="style4">Email :</div></td> 
     <td valign="top"><span class="style5"></span></td> 
     <td colspan="2" valign="top"><div align="left" class="style6">'; 
      $message = $message. $_POST['email']; 
      $message = $message.'</div></td> 
     </tr> 
     <tr> 
     <td valign="top"><div align="left" class="style4">Subject :</div></td> 
     <td valign="top"><span class="style5"></span></td> 
     <td colspan="2" valign="top"><div align="left" class="style6">'; 
      $message = $message. $_POST['subject']; 
      $message = $message.'</div></td> 
     </tr> 
     <tr> 
     <td valign="top"><div align="left" class="style4">Phone :</div></td> 
     <td valign="top"><span class="style5"></span></td> 
     <td colspan="2" valign="top"><div align="left" class="style6">'; 
      $message = $message. $_POST['phone']; 
      $message = $message.'</div></td> 
     </tr>      
     <tr> 
     <td valign="top"><div align="left" class="style4">Message :</div></td> 
     <td valign="top"><span class="style5"></span></td> 
     <td colspan="2" valign="top"><div align="left" class="style6">'; 
      $message = $message. $_POST['message']; 
      $message = $message.'</div></td> 
     </tr>'; 

$message = $message.'   
     <tr> <tr><td colspan="4" valign="top"><span class="style5"></span></td> 
     </tr>'; 
$message = $message.' 
    </table>  
    <br /></td> 
    </tr> 
</table> 
<p>&nbsp;</p> 
</body> 
</html> 
'; 

// To send HTML mail, the Content-type header must be set 
$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 

// Additional headers 
/*    $headers .= 'To: Mary <[email protected]>, Kelly <[email protected]>' . "\r\n";*/ 
/*    $headers .= 'Cc: [email protected]' . "\r\n"; 
$headers .= 'Bcc: [email protected]' . "\r\n";*/ 

// Mail it 
mail($to, $subject, $message, $headers); 
//end of Send Email to Client -------------------------------------------------------------- 

//redirect to the thank you page 
header('Location: http://www.blah.com/blah/thank-you.php'); 

} //end of if ($_POST['is_form_submitted'] == "yes") 
?> 
+0

嘗試使用html標頭重定向而不是php。 –

回答

0

也許你之前,你的腳本<?php標籤有空間。請檢查它並刪除它們。同時使用沒有BOM的UTF-8文件編碼

0

最好找到輸出導致header()失敗的空間或行的位置。但是,如果你不能,試着在header()之前清除緩衝區。

 if (ob_get_length() > 0) { 
      ob_clean(); 
      flush(); 
     } 
相關問題