2012-08-25 69 views
0
// from the form 
$name = trim(strip_tags($_POST['name'])); 
$email = trim(strip_tags($_POST['email'])); 
$message = htmlentities($_POST['message']); 

// set here 
$subject = "Contact form submitted!"; 
$to = '[email protected]'; 

$body = HTML 
$message 
HTML; 

$headers = "From: $email\r\n"; 
$headers .= "Content-type: text/html\r\n"; 

// send the email 
mail($to, $subject, $body, $headers); 

// redirect afterwords, if needed 
header('Location: thanks.html'); 

問題是,天氣與否,你可以在html電子郵件正文中插入一個php if語句或將其添加到該語句中的最佳方式。我正在創建詳細的廣告資源,一旦提交,就需要通過電子郵件發送給電子郵件。但我不想以電子郵件的完整清單(包括空輸入),它應該只通過電子郵件有其他東西比0的領域我在想:你可以在php電子郵件中插入if語句

if ($armChair > 0) { echo 'Arm Chairs: ' . $_POST['armChair']; } ]

但它似乎並沒有實際工作... 有任何想法嗎?

+0

顯然你是新來的php甚至編程。你需要了解更多的基礎,消息可以是任何你想要的,你可以使用邏輯來構造它,但是你不會迴應它,你連接,直到你得到最終的消息將被髮送。 – Leite

回答

6

這是一個構造不好的問題。

是的,你絕對可以做到這一點,但你需要以一種理智的方式來做到這一點。我們無法確定您在此發佈的內容,因爲您剛剛插入了定義正文的「HTML」。

$body = "Hi there,\r\n"; 
$body .= $armChair > 0 ? "Arm Chairs: ".$_POST['armCharis']."\r\n" : ""; 
$body.= "some more text"; 

如果你的意思是覆蓋$消息的部分,是的,你可以做到這一點,以及使用類似機器代碼{}庫存或喜歡...

$message = $armChair > 0 ? str_replace('{INVENTORY}', "Arm Chairs: ".$_POST['armCharis']."\r\n", $message) : ""; 

這當然需要字符串{INVENTORY}在你的$消息的某處var

+0

讓我重新說明我的問題。我有一個很大的庫存形式的房屋持有物品。我希望能夠通過電子郵件將表單發送到一個提交的電子郵件地址...但我不希望它打印每一個輸入...我希望它打印時,有一個值大於0.更有意義? –