2013-08-23 27 views
0

我有一個PHP腳本,將電子郵件發送到一個指定的電子郵件地址的數組:表單值轉化爲電子郵件

$headers = array(
    'From: emailhidden', 
    'Content-Type: text/html' 
); 

$body = array(
    '<br><br><br>', 
    '<h3>Success!</h3><br>', 
    '<p>Your sign up for My Panda was Successful! you may now sign in using the information provided below.</p>', 
    '<p><b>Login URL:</b> <a href="http://www.green-panda.com/my-panda.html">http://www.green-panda.com/my-panda.html</a></p>', 
    '<p><b>Username:</b> echo "$_POST[unique_id]";</p>', 
    '<p><b>Username:</b>". $POST['unique_id']."</p>', 
    '<p><b>Password:</b> echo "$_POST[passphrase]";</p>', 
    '<p>If you ever have any problems with My Panda or have questions, please contact us at: [email protected]' 
); 

mail('emailhidden', 'My Panda Registration', implode("\r\n", $body), implode("\r\n", $headers)); 

的問題就在這裏奠定:<p><b>Username:</b> echo "$_POST[unique_id]";</p>',並用密碼短語相同。他們顯示的完全是這樣的,而不像表單上輸入的內容。我如何讓他們顯示腳本前面的表單上發佈的內容?輸入字段名稱與腳本中的發佈值相同。謝謝!

+0

檢查你的報價。 '文字'。 $ var。 '文本';或「text $ var text」 –

回答

0

沒有冒犯的意圖,但你的代碼充斥着錯誤和語法錯誤。

首先,您使用的是單引號,因此PHP不會解釋變量的值。

其次,你在字符串文字中調用echo。

第三,您在很多POST數組索引中缺少引號。

第四,你缺少一些$ _POST變量的下劃線。

第五,您連續兩次顯示用戶名,是否有意?

這應有助於:

'<p><b>Username:</b>' .$_POST['unique_id'].'</p>', 
    '<p><b>Username:</b>' .$_POST['unique_id'].'</p>', //why twice? 
    '<p><b>Password:</b>' .$_POST['passphrase'].';</p>', 

你應該知道:如果你聲明的字符串與單引號,PHP不會解釋任何內部的變量。試試這個,你就會明白我的意思:

$foo = "Bar"; 
    echo '$foo'; 
    echo "$foo"; 

由於使用的是單引號,我添加了上述連接來使代碼工作。你可以通過在標籤內使用單引號來完成同樣的事情,並用雙引號將字符串括起來。然後你可以像下面這樣直接運行變量:

"<p><b>Username:</b>$_POST['unique_id']</p>", 
2

您正在使用雙引號。

'<p><b>Username:</b>". $POST['unique_id']."</p>', 
        ^     ^

使用單引號代替,改變$POST$_POST

'<p><b>Username:</b>' . $_POST['unique_id'] . '</p>', 
+0

'$ POST'有語法錯誤 – hallaji

+0

@VahidHallaji:謝謝。我已經更新了答案。 –

0

它對待他們像琴絃,因此使它們爲編寫。連接你的變量,你的問題應該被解決。

'<p><b>Username:</b> echo "'.$_POST[unique_id].'";</p>', 
+0

(這是假設你想保留雙引號...... – lostphilosopher

0

您的代碼有語法問題。由點使用的$_POST(帶下劃線),也CONCAT字符串和變量正確的語法與相同的報價

'<p><b>Username:</b>' . $_POST[unique_id]. '</p>' 
+0

謝謝!我認爲這是問題,只是不知道如何解決它。再次感謝。 – user2673735