2013-04-24 121 views
0

我正在設置一個付款頁面,我是一名設計師而不是開發人員。所以我一直有一些問題。付款完成後,會經歷幾個階段併產生響應。在返回的response.php文件中,我有機會注入一些代碼來發送電子郵件給客戶,告訴他他已經收到了付款。PHP郵件發送時沒有變量

郵件確實發送到客戶端,但變量丟失。我收到文字信息。任何人都可以幫助將非常感激。

$name = $_POST['name']; 
$email = $_POST['email']; 
$client = $_POST['CUST_NUM']; 
$amount = $_POST['AMOUNT']; 

$email_from = '[email protected]';//<== update the email address 
$email_subject = "RCEH Website Payment Activity"; 
$email_body = "You have received a payment from a client $name.\n". 
"Account Number:\n $client". 
$to = "[email protected]";//<== update the email address 
$headers = "From: $email_from \r\n"; 
$headers .= "Reply-To: $email \r\n"; 
//Send the email! 
mail($to,$email_subject,$email_body,$headers); 
+0

不能確定你想要什麼。但是將這些變量添加到$ email_body中例如:$ email_body =「Hello $ name您的電子郵件地址是$ email並且金額是:$ amount」;希望這可以幫助,這是你正在尋找。 – StudioArena 2013-04-24 08:58:41

+0

你在身體裏有什麼? – 2013-04-24 09:14:17

+0

Lolcoder感謝您回覆 - 正文發給我的是「您已收到客戶的付款 帳號: [email protected]」 – paddym 2013-04-24 11:11:21

回答

0

我改變了我的回答根據您的描述

因此,如果您不能檢索$ _ POST變量,那麼問題不在於PHP代碼,但在你的HTML表單頁面*:

$name = $_POST['name'];  
$email = $_POST['email']; 
$client = $_POST['CUST_NUM']; 
$amount = $_POST['AMOUNT']; 

您可以檢查您的表單字段是否包含與$ _POST中上面列表相同的名稱。 例如:

$ _ POST [「名」]會得到它的值從一個文本框/場,有一個名字=「名」:

<input type="textbox" name="name"> 

$ _ POST [「CUST_NUM」]會得到它的從一個文本框/場,有一個名字=「CUST_NUM」值:

<input type="textbox" name="CUST_NUM"> 

現在如果你仍然有問題讓這些變量:

這可能是因爲你,如果你的PHP代碼your_php_code.php ND您的HTML是在同一目錄下找到不通過在正確的網址

<form method="POST" action="your_php_code.php"> 
... your other codes here ... 
</form> 
+0

謝謝你的時間。我嘗試了你的代碼,但仍然得到相同的結果,我也去了並重新填寫了表單。但結果相同。你提到「如何知道?嘗試代替ff並測試你的代碼:」你是什麼意思? – paddym 2013-04-24 11:06:01

+0

抱歉,最近的回覆:例如cnange變量'$ name = $ _POST ['name'];'''name ='我的名字';'很有可能您的腳本沒有收到這些$ _POST變量。 – Viscocent 2013-04-25 00:56:41

+0

你說得對 - 我把它改成了$ name ='Ronan';其他變量保持不變,併發回「您已收到客戶Ronan的付款。 帳戶號碼:「 – paddym 2013-04-25 09:05:43