2013-04-10 120 views
0

如何使用$_SESSION[user_id]變量將電子郵件地址從用戶表中拉出併發送到該地址?

在付款過程結束時,我想向用戶發送確認電子郵件。用戶標識存儲在會話中,我希望將確認發送到存儲在用戶表中的電子郵件地址。

<?php 
$to = "[email protected]"; 
$subject = "Hi!"; 
$body = "Hi,\n\nHow are you?"; 
if (mail($to, $subject, $body)) { 
echo("<p>Message successfully sent!</p>"); 
} else { 
echo("<p>Message delivery failed...</p>"); 
} 
?> 

如何使用查詢插入與$ _SESSION [user_id]變量關聯的相應電子郵件?

$q = "SELECT email from users where id='".$_SESSION['user_id']."'"; 
$r = mysqli_query ($dbc, $q); 
$to = "email"; 
$subject = "Confirmation"; 
$body = "Hi,\n\nConfirmation?"; 
if (mail($to, $subject, $body)) { 
echo("<p>Message successfully sent!</p>"); 
} else { 
echo("<p>Message delivery failed...</p>"); 
} 

我有信息的電子郵件發送成功,但在註冊過程中我發送的電子郵件使用電子郵件從未到達... :

$body = "Thank you for registering at <...>. Welcome to digital world of knowledge."; 
mail ($_POST['email'], 'Registration Confirmation', $body, 'From: [email protected]'); 
+0

它全部取決於你的數據庫設置的方式。可能使用'SELECT'語句。你用什麼數據庫? – 2013-04-10 12:49:50

+0

我正在使用mysql – Dave 2013-04-10 12:54:28

+0

你的表格是什麼樣的?數據庫結構會派上用場。 – 2013-04-10 12:57:47

回答

0

您有一個基於用戶ID來寫一個選擇查詢收到電子郵件這樣的事情

$sql = "SELECT email from user where user_id='".$_SESSION[user_id]."'"; 

然後使用電子郵件執行郵件功能

0

您需要從用戶對象獲得的電子郵件地址:

$user = User::getByID($_SESSION[user_id]); 
$email = $user->getEmail(); 

這個代碼僅僅是示範性的,這取決於如何您的用戶對象的作品。如果你沒有一個,那麼我的回答是建議你創建一個用戶對象。

0

隨着出從Database,它不可能做到這一點得到了email address

否則

用戶登錄成功後,您可以設置一個多個會話varaible

$_SESSION['email'] = '[email protected]' 
+1

如果在應用程序中更經常需要電子郵件,則將其存儲到會話中的建議是一個不錯的方法。 – 2013-04-10 12:53:05

+0

是的,否則引入一個新的功能與查詢是不同的方式來實現這個 – Ranjith 2013-04-10 12:55:50

+0

是的,功能是一個好主意,甚至比一個函數是一個小對象有一些有用的方法,請參閱:http://stackoverflow.com/a /2261774分之15926343 – 2013-04-10 13:00:30

相關問題