查询会话:这是正确的方法吗?

时间:2010-07-08 14:45:13

标签: php session

我用php开发了一个会员脚本用于学习,我在会话问题上感到困惑: 在login.php中,在用户名和密码查询之后有:

$_SESSION['user'] = $aut_user['user_name'];
$_SESSION['user_id'] = $aut_user['user_id'];

之后,页面重定向到user.php。 在user.php中我使用了这个查询:

$id = $_SESSION['user_id'];
$sql = sprintf("SELECT *FROM members WHERE user_id = '%d' ", $id);

我的问题是;这是正确的方法:

  1. 在login.php
  2. 中分配所有表项(id,username,user nick vs)
  3. 基于user.php中的会话的查询
  4. 提前致谢

1 个答案:

答案 0 :(得分:2)

我会使用您的选项2:

根据您在会话中存储的用户ID,根据需要查询用户数据。

无需在会话中存储您不需要的数据。

正如Marco Ceppi所述,用户数据实际上可能会发生变化,具体取决于用户与您网站的互动情况,例如:更新个人资料。你不想要更新数据库和会话。