后台登陆窗口(管理员用的),登陆成功后设置 $_SESSION["lUserName"]=登陆的用户名。在后台输出$_SESSION["lUserName"]是正确的。前台也有登陆窗口(给会员用的),登陆成功后设置$_SESSION["regUser"]=登陆的用户名。在前台输出$_SESSION["regUser"]是正确的出现的问题是:FTP传到空间后,后台先登录,前台的会员也登陆,然后后台里面输出的$_SESSION["lUserName"]变成了前台会员登录的用户名,本机却没有这个毛病,这是什么情况啊。请高手指点一下
$_SESSION["lUserName"]是用来判断后台的登录
$_SESSION["regUser"]是用来判断前台会员的登录。
前台会员登陆页面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同名了,所以值变了。但是我不明白为什么会这样?本地没出错啊。
$_SESSION[]名不能与变量名一致,如果一致了的话
则SESSION就自动变成了与变量的值一样了!丢失了SESSION原来的值了
至于为什么,我也不知道!~