2012-11-08 82 views
0

我在我的網站上有聯繫表。我需要用戶將消息發送到我的電子郵件,並且這樣做。我也有一個複選框,當選中時,用戶將收到郵件指向電子郵件文本框中指定的電子郵件。我的代碼只將它發送給我的電子郵件,但當複選框被選中時它不會發送副本。如何通過php聯繫表格發送電子郵件到發件人地址

Contact.html

<input type="checkbox" name="sendcopy" value="Yes" checked/>Copy this message to your mail 

Sendmail.php:

$messagebody="Name: ".$name."".PHP_EOL; 
$messagebody.="email: ".$email."".PHP_EOL; 
$messagebody.="website: ".$website."".PHP_EOL; 
$messagebody.="message: ".nl2br($message)."".PHP_EOL; 

mail($to,$subject,$messagebody,$headers)or die("The message failed to send"); 

if(isset($_POST["sendcopy"]) && $_POST["sendcopy"]=="checked"){ 
mail($email,$subject,$messagebody,$headers)or die("The message failed to send a copy") 
    } 
+1

爲什麼要調用'mail'兩次?你不能只是將發件人添加到BCC? –

+0

@千兆瓦用戶可能決定不檢查複選框...... BCC將自動發送郵件給用戶。我想給選擇空間 – Wepex

回答

1

$_POST["sendcopy"]片斷if(isset($_POST["sendcopy"]) && $_POST["sendcopy"]=="checked"){值您試圖匹配是錯誤的。 相反,您只能使用if(isset($_POST["sendcopy"]){來檢查該複選框是否被選中。

0
if(isset($_POST["sendcopy"]) && $_POST["sendcopy"]=="checked"){ 
                ^^^^^^^^^ 

錯誤。它應該是"Yes",因爲在形式定義的value

if(isset($_POST["sendcopy"]) && $_POST["sendcopy"]=="Yes"){ 
+0

只是'isset'應該這樣做,它不會被設置,如果它沒有被檢查,價值並不重要。 – jeroen

0
if (isset($_POST['sendcopy'])) 
+0

你在說什麼? – Prash

相關問題