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)啊。请教还可能由哪些问题导致?若描述的不清楚请指教。

解决方案 »

  1.   

    $_SESSION['logName'] = $username;
    ==>
    $_SESSION['logName'][] = $username;再弄个 select 用于切换用户
      

  2.   

    可是我根据不同的username查询的,按理来说应该会有不同的home值啊。而且,用同一个浏览器用两个不同的163邮箱账号登陆,应该不会出现这种问题吧!
      

  3.   


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