2013-02-26 80 views
1

我想發送電子郵件至有人點擊其從我的數據庫對他們的信息的鏈接。因此,他們輸入了用戶名,密碼和電子郵件,並將「項目」和「過道」發送給他們。問題是他們的用戶名可能有多個項目。所以我需要在一封電子郵件中回覆所有信息。但它不可能在電子郵件中回顯信息。目前,它發送每個項目和過道信息的電子郵件,以便它可以發送2+電子郵件的信息。任何幫助將被愛。謝謝!PHP的電子郵件形式請求信息

$Username = mysql_real_escape_string($_POST['Username']); 
$Password = mysql_real_escape_string($_POST['Password']); 
$Loc = mysql_real_escape_string($_POST['Loc']); 
$To = mysql_real_escape_string($_POST['To']); 
$Subject = "List"; 


$query = mysql_query("select * from Members where Username = '$Username' and Password =  '$Password'"); 
while ($row = mysql_fetch_array($query)) { 
$headers = 'From: [email protected]'; 
$Items = $row['Items']; 
$Loc = $row['Loc']; 
$msg= "Item: $Items 
Aisle: $Loc\n"; 
mail($To, $Subject, $msg, 'From:' . $header); 
echo 'Email sent to: ' . $To. '<br>'; 
+0

您的預期結果是什麼?列出1封郵件中的所有項目? – Raptor 2013-02-26 05:42:53

+2

爲什麼你不能在電子郵件中回覆?檢索用戶的所有行,生成電子郵件,然後**發送它。您現在正在爲每一行數據發送電子郵件。 – 2013-02-26 05:46:18

+0

是的。我想在一封電子郵件中發送'Items'和'Loc'的所有結果。添加回顯會給我意想不到的T_ECHO錯誤。隨意放置你將如何添加回聲,我會測試它。 – 2013-02-26 05:51:10

回答

0

改變你的代碼的第二部分如下:

$query = mysql_query("select * from Members where Username = '$Username' and Password =  '$Password'"); 
$items = ''; 
$headers = 'From: [email protected]'; 
while ($row = mysql_fetch_array($query)) { 
    $items .= $row['Items'] . PHP_EOL; 
    $loc = $row['Loc']; // what is Loc ? 
} 
$msg= "Item: $items 
Aisle: $loc\n"; 
mail($To, $Subject, $msg, 'From:' . $header); 
echo 'Email sent to: ' . $To. '<br>'; 

然而,你的表結構是怪異。你應該把你的項目放在一個單獨的表格中,並將你的成員ID作爲外鍵。

0

嘗試將郵件放在單獨的文件中並將其包含在郵件中。

這樣子。

$message = include('email_massage.php'); 
+0

這不回答OP的問題。 (以及「email_message.php」的內容是什麼?) – Raptor 2013-02-26 05:51:05