2011-07-29 83 views
1

似乎一切都準備好: PHP:爲什麼這個聯繫表單不工作?

<?php 

if (!empty($_POST['name'])){ 
$msg = "name". $_POST['name']; 
}else{ 
$fname = NULL; 
echo "Name Required.<br />"; 
} 

if (!empty($_POST['email'])){ 
$msg = "email". $_POST['email']; 
}else{ 
$lname = NULL; 
echo "Email Required.<br />"; 
} 

if (!empty($_POST['www'])){ 
$msg = "Website". $_POST['www']; 
}else{ 
$lname = NULL; 
echo "Website Required.<br />"; 
} 

if (!empty($_POST['comment'])){ 
$msg = "Comment". $_POST['comment']; 
}else{ 
$email = NULL; 
echo "A comment is required.<br />"; 
} 

$recipient = "[email protected]"; 
$subject = "Form Feedback"; 
$mailheaders = "Reply-to". $_POST['email']; 
//send the mail 
mail($recipient, $subject, $msg, $mailheaders); 
?> 

HTML:

<div id="contact" style="height:280px; margin:1px 0;"> 
    <form id="contactLP" method="post" action="inc/php/contact_validate.php"> 
      <div class="align"><input type="text" name="name" tabindex="1" /></div> 
      <div class="align"><input type="text" name="email" tabindex="2" /></div> 
      <div class="align"><input type="text" name="www" tabindex="3" /></div> 
      <div class="align"><textarea id="txta" name="comment" cols="15" rows="5" tabindex="4"></textarea></div> 
      <span style="color:transparent;">test</span> 
      <br><br> 
     <div class="align"><input type="submit" class="submit" name="sendForm" id="SubmitContact" value="" tabindex="5" /></div> 
    </form> 
</div><!--CONTACT--> 

當我正確填寫並提交,它說: 「感謝您的信息」 或類似的東西,但我沒有收到任何電子郵件。

我試着在Internet上的服務器上運行這個,以及在我的工作站上運行的本地服務器上。

我在做什麼以上錯誤???????

+0

請嘗試隔離問題。如果你寫一個簡單地發送電子郵件的腳本(沒有任何形式的東西),它是否工作? –

回答

1

是的,你是"name; $_POST['name'] ";應該是"name". $_POST['name'];在你使用該字符串的每個實例中。

+0

所以你說網站,電子郵件,評論它需要以同樣的方式? – Jshee

+0

是的,和$ mailheaders也 – Joe

+0

請看到更新的PHP,這並沒有解決問題。 – Jshee

1

您的$味精只保存當前值。

嘗試這樣的事情對你的所有賦值到$味精變量

$msg .= "Comment". $_POST['comment']; 
0

mail function

你似乎已經搞砸了$ mailheaders變量輕微(答覆向一區),試試這個代碼在一個獨立的腳本。如果即使失敗,您也可能需要檢查郵件功能以及它在服務器上的設置。 (明顯更改電子郵件地址)

<?php 
$to  = '[email protected]'; 
$subject = 'the subject'; 
$message = 'hello'; 
$headers = 'From: [email protected]' . "\r\n" . 
    'Reply-To: [email protected]'; 

mail($to, $subject, $message, $headers);