2010-06-28 69 views
1

我坐在這裏想知道這個php聯繫表單解決方案是否太簡單,實際工作。或者,它的確行得通,但它會一直工作嗎?簡單的php表單=實際工作太簡單了?

此外,atm當你收到電子郵件,它說:從[email protected] 這意味着大多數郵件客戶端將它放在垃圾箱中。我怎樣才能將其更改爲輸入的電子郵件地址?

謝謝!

<form method="POST" action="mailer.php"> 
    <input type="text" name="name" size="19"> 
    <input type="text" name="phone" size="19"> 
    <input type="submit" value="Submit" name="submit"> 
</form> 

<?php 
if(isset($_POST['submit'])) { 

$to = "[email protected]"; 
$subject = "From website"; 
$name_field = $_POST['name']; 
$phone_field = $_POST['phone']; 

$body = "From: $name_field\n E-Mail: $phone_field\n"; 

echo "Data has been submitted to $to!"; 
mail($to, $subject, $body); 

} else { 

echo "Error!"; 

} 
?> 
+1

用自己的域名電子郵件定義一個標題,因此它不會以「[email protected]」的形式發送,例如:$ headers ='發件人:[email protected]'。 「\ r \ n」。 '回覆:[email protected]'。 「\ r \ n」。 'X-Mailer:PHP /'。 phpversion(); 郵件($ to,$ subject,$ message,$ headers); – Prix 2010-06-28 18:54:31

+0

你是什麼意思「太簡單了不能工作?」 – Timothy 2010-06-28 18:55:44

+0

感謝那個大獎! – patad 2010-06-29 12:50:37

回答

6

它會工作,但是你的收件人會在一段時間後出現嚴重垃圾郵件。您可以通過在隱藏有CSS的表單中添加另一個字段,然後在發送電子郵件之前檢查它是否爲空,從而減少很多。至於調整返回地址,使用PHP郵件函數的第四個參數。它看起來像這樣:

mail($ to,$ subject,$ body,「From:$ fromAddress \ n」);

這裏是我已經使用了類似的形式對一個網站的方式,可以很容易地打個電話回在外出時要傳達一個信息給某人的智能手機的一些快速和骯髒的代碼: http://rietta.com/stackoverflow/sample-form.txt

+0

那太好了! 完美的作品!非常感謝。 只是一個問題:隱藏的輸入如何防止收件人被垃圾郵件? – patad 2010-06-29 12:50:10

+0

這個想法是,spambot不會知道表單對用戶不可見,並且會用垃圾填充,而真人不能看到表單來填寫它。 這不是100%,但它會減少一點。 – Barry 2010-06-29 12:53:22