2012-03-16 79 views
-1

有我的聯繫表格IM建築只是其不發送以下...PHP接觸形式的錯誤

伊夫試圖打印結果到它,但瀏覽器由於某種原因,它不會發送,任何人可以看到語法錯誤?

<?php 

$fname = $_POST['fname']; 
$lname = $_POST['lname']; 
$email = $_POST['email']; 
$addr = $_POST['addr']; 
$postcode = $_POST['postcode']; 
$landline = $_POST['landline']; 
$mob = $_POST['mob']; 
$carw = $_POST['carw']; 
$depo = $_POST['depo']; 
$marsta = $_POST['marsta']; 
$ressta = $_POST['ressta']; 
$to = "[email protected]"; 

    //begin of HTML message 
    $message = " 
    From : $name $lname, 
    Email: $email, 
    Address: $addr $postcode, 
    Landline: $landline, 
    Mobile: $mob, 
    Car Wanted: $carw, 
    Deposit Available: $depo, 
    Marital Status: $marsta, 
    Residential Status: $ressta"; 
    //end of message 

    // To send the HTML mail we need to set the Content-type header. 
    $headers = "MIME-Version: 1.0rn"; 
    $headers .= "Content-type: text/html; charset=iso-8859-1rn"; 
    $headers .= "From: Website Enquiry"; 




if (isset($name)) 
{ 
     // now lets send the email. 
    mail($to, $subject, $message, $headers); 

header('Location: ' . $_SERVER['HTTP_REFERER'] . '?e=Thankyou, we will be in touch shortly.'); 

} else {header('Location: ' . $_SERVER['HTTP_REFERER'] . '?e=There was an error sending your message, Please try again.');} 

?> 
+1

不要自己建立MIME消息。使用swiftmailer或phpmailer。 – 2012-03-16 16:12:15

回答

2

請勿使用rn,請使用\r\n

對您的Location:標題數據進行網址編碼。網址沒有空格。

此外,請考慮不是每個人都可以閱讀HTML電子郵件。發送除HTML版本以外的文本版本。

最後,你可能不想發送這樣一個開放式的電子郵件,因爲垃圾郵件發送者可以很容易地使用這個腳本。

+0

它仍然不發送不幸... – Liam 2012-03-16 16:08:40

+0

@Liam,請參閱MetalFrog的答案。 – Brad 2012-03-16 16:09:57

+0

+1代碼改進建議。不會有傷害有一點輸入驗證。 – MetalFrog 2012-03-16 16:10:58

3

它不起作用的原因是,你正在檢查是否設置了$name,顯然不是。但你有一個$fname