新登录用户将原登录用户的数据信息替换掉的问题

1、用户登录时,存储用户信息:
$_SESSION['logName'] = $username;

2、根据用户信息查询用户邮件存储目录:
$home = $mysql->selectDirByName($username);

3、从目录中读取收发的邮件:
//邮件索引的xml文件名(xml中包括邮件的from、title、to、date、bodyId、attachId)
$inx = $home['home'] . "/" . $index . ".inx"; ($index为收件箱和发件箱的序号,如1、2)
//解析索引
$audit = parse_xml_config($inx, "mailindex");

4、根据解析的邮件信息罗列邮件。

大致流程就这样。
问题:在同一浏览器中登录两个用户,新登录的用户信息会将已登录的用户信息替换掉。我想是在第二步的时候将邮件存储目录给替换了,但我有在之前加unset($home)啊。请教还可能由哪些问题导致?若描述的不清楚请指教。
...全文
140 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
在163网邮测试了下,同一浏览器登录两个账号,其中一个会状态失效,看来这方面是暂时不会有什么改进了。
要么按版主的方法,要么也是判断新用户之前的用户状态失效。
xuzuning 2012-07-24
  • 打赏
  • 举报
回复
$_SESSION['logName'] = $username;
==>
$_SESSION['logName'][] = $username;

再弄个 select 用于切换用户
黄袍披身 2012-07-24
  • 打赏
  • 举报
回复
同个浏览器肯定是这样啊 你登录第2个的时候第一个就变成第2个了....

你要打开2个浏览器的话要是这样就神奇了。
  • 打赏
  • 举报
回复

#每次登录后,这样赋值吗?:
$_SESSION['logName'][] = $username;
#然后将该序号存储,用以进行select判断?:
$code = count($_SESSION['logName'])-1;
$username = $_SESSION['logName'][$code];
#需要将username和code关联起来吧

#我理解的对否?
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

同个浏览器肯定是这样啊 你登录第2个的时候第一个就变成第2个了....
[/Quote]
可是我根据不同的username查询的,按理来说应该会有不同的home值啊。

而且,用同一个浏览器用两个不同的163邮箱账号登陆,应该不会出现这种问题吧!

21,882

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧