2012-04-27 69 views
-1

希望有人能幫助我,這?不能發送郵件()與if語句

if (isset($_POST['frame_in']) == "yes") && (isset($_POST['collected1']) == "no") { 
mail($mailTo,$subject,$message,$headers); 
} 

多一點信息

我試着在下列火災關閉自動電子郵件,是真正的「frames_in」 = yes和「collected1」 =無

+0

請描述您的問題。 – TJHeuvel 2012-04-27 14:54:27

+0

不,您沒有提供足夠的信息。你有沒有得到任何錯誤? if語句是否評估爲真或假? – IsisCode 2012-04-27 14:54:50

回答

6

你的邏輯是錯誤的。您想要測試$_POST值是否已設置,並且等於"yes""no"。例如:

(isset($_POST['frame_in']) && $_POST['frame_in'] == "yes") 

在有2個條件代碼的情況下:

if ((isset($_POST['frame_in']) && $_POST['frame_in'] == "yes") 
    && (isset($_POST['collected1']) && $_POST['collected1'] == "no")) { 
    mail($mailTo,$subject,$message,$headers); 
} 

你的原代碼比較isset()(布爾TRUE/FALSE)的返回值來yesno,它絕不會。

您還有一些不正確的()附件和錯字。

開發時,請始終使用error_reporting(E_ALL);ini_set('display_errors', 1);,以便您的語法錯誤在屏幕上可見。

+0

你仍然有一個錯誤......如果沒有正確結束......你的if語句就像'if(A)&&(B){...}',我認爲這會出現語法錯誤。 – shadyyx 2012-04-27 14:57:39

+0

@shadyyx沒有注意到'S'而不是'$' – 2012-04-27 14:58:26

3

將S_POST更改爲$ _POST作爲開始:)

+0

oops已更改,但仍然不起作用,謝謝 – wiggy1977 2012-04-27 14:59:23

+0

除了錯字之外還有更多問題... – 2012-04-27 15:01:56