我目前有一個基本的登錄腳本。
當兩個變量的用戶登錄定義:
$_SESSION['user_id'] = $user['user_id'];
$_SESSION['username'] = $user['username'];
index.php文件有這個
session_start();
if(array_key_exists('user_id', $_SESSION) && array_key_exists('username', $_SESSION)):
這是所有正常,但是一旦在會話開始,我想從數據庫中添加更多的值,所以我在這裏有這樣的代碼:
$res = mysql_query($sql);
$_SESSION = mysql_fetch_assoc($res);
當我這樣做時, ides $ _SESSION ['user_id']和$ _SESSION ['username']。 我試過這個:
$_SESSION .= mysql_fetch_assoc($res);
但它沒有工作。
有沒有人有任何想法?
由於 彼得
'array_merge()'? – nickb
我想補充一點,這是一個壞主意。您應該只將用戶標識存儲在會話中,作爲用戶名,角色,電子郵件等等。可能會在某些時候改變。最好在每個頁面上加載所需的內容。 – Xeoncross
如果我這樣做,那麼每次加載數據的時候,網站都會變慢。除非用戶更改該數據庫,否則該數據庫中的數據不會更改,當用戶更改其帳戶信息時,$ _SESSION變量將被重新定義 –