在php中设置会话的正确方法是什么?

时间:2016-03-23 12:24:42

标签: php jquery json html5 session

我正在构建一个可以托管多个用户的Web应用程序。我有一个登录模块,它接收用户的电子邮件,密码并记住我。该数据传递给login.php,它检查错误,如果没有错误则调用login_user函数。 login_user函数检查用户的信用是否正确,如果是,则将行数据设置为每个SESSION 示例:($ _ SESSION [' first_name'] = $行['如first_name'])。现在,问题是当我以用户1登录然后打开一个新窗口并以用户2身份登录时,我回到用户1的窗口并刷新页面我现在拥有用户2 profile_pic对于用户1. $ _SESSION数据例如:profile_pic 正在从名为loggedinuser.php的中央文件中读取,该文件执行两项操作: 1 检查用户是否已记录in和 2 如果是,则以json格式回显会话。这是我认为问题是因为数据正确返回,但每次用户登录时都会将会话数据重新初始化为最后登录的用户。我曾尝试使用$ _COOKIE来存储数据,但我得到了相同的结果。我尝试使用session_regenerate_id但得到相同的结果。在构建应用程序之前,我的印象是PHP负责为每个用户提供唯一的会话。所以我的问题是如何设置我的SESSIONS以便它返回与每个用户登录相对应的正确数据? 注意我使用JQuery从loggedinuser.php获取数据所有帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

PHP会话是一个浏览器会话。如果您在同一浏览器上打开相同的登录页面,它将使用相同的会话。

如果您尝试其他浏览器,您将获得不同的会话。您还可以在私人/隐身模式下尝试新的浏览器窗口。

你所描述的内容完全没有错误。