我目前有一个基本的登录脚本。
当两个变量的用户登录定义:
$_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变量将被重新定义 –