后台登陆窗口(管理员用的),登陆成功后设置 $_SESSION["lUserName"]=登陆的用户名。在后台输出$_SESSION["lUserName"]是正确的。前台也有登陆窗口(给会员用的),登陆成功后设置$_SESSION["regUser"]=登陆的用户名。在前台输出$_SESSION["regUser"]是正确的出现的问题是:FTP传到空间后,后台先登录,前台的会员也登陆,然后后台里面输出的$_SESSION["lUserName"]变成了前台会员登录的用户名,本机却没有这个毛病,这是什么情况啊。请高手指点一下

解决方案 »

  1.   

    没有改过
    $_SESSION["lUserName"]是用来判断后台的登录
    $_SESSION["regUser"]是用来判断前台会员的登录。
      

  2.   

    你用phpinfo()对比一下服务器和本机的session配置哪里不同。
      

  3.   

    经过一晚上测试问题的原因终于找出来了我把思路跟代码贴上说明下,虽然还是不明白为什么会导致这样的错误。
    前台会员登陆页面login.php ,省略登陆代码若干,验证用户名密码后,登陆成功
    存储用户名给$_SESSION["regUser"],存储用户权限给$_SESSION["hyqx"](0=普通权限,1=中级权限,2=高级权限),假设此次登陆用户为高级权限,则$_SESSION["hyqx"]存储的值为2。然后访问信息详细页面 neiR.php?hyqx=1 在neiR.php页面上写入代码$ID=$_GET["hyqx"],作用获取到信息的ID;然后执行到这句的时候输出$_SESSION["hyqx"]值,发现由2突然变成了1 。如果去掉$ID=$_GET["hyqx"]这句代码,则$_SESSION["hyqx"]值始终为2。 但是在本机输出即便写入$ID=$_GET["hyqx"]这句代码,$_SESSION["hyqx"]值还是为2,FTP传入服务器写入$ID=$_GET["hyqx"]的时候$_SESSION["hyqx"]的值就变成了1
    我解决的办法是将$_SESSION["hyqx"]换了个其他的名字。就可以了,分析可能是$_SESSION["hyqx"],跟$_GET["hyqx"]里的hyqx同名了,所以值变了。但是我不明白为什么会这样?本地没出错啊。
      

  4.   

    PHP就是这样!~
    $_SESSION[]名不能与变量名一致,如果一致了的话
    则SESSION就自动变成了与变量的值一样了!丢失了SESSION原来的值了
    至于为什么,我也不知道!~
      

  5.   

    你终于明白了啊。名字冲突了。。本地不会,你重启电脑把IE缓存干掉试试。。session了的值,你怎么还用这个变量。。真是牛叉哈哈。不要想了。改成其他的。这样子一看就感觉很危险
      

  6.   

    查看你服务器的php.ini中是否是: register_globals = On关闭后这个问题应该能解决
      

  7.   

    session_set_cookie_params(0, '/', $config['domain']);
      

  8.   

    清除一下網頁cookie,程序盡量避免變量名稱相重復,順便頂下接分!
      

  9.   

    你的服务器是否支持session ?