我认为:
if(session_is_registered("uid"))//注册变量
session_unregister("uid");
session_register("uid");
重复注册session,不是好方法。
而且还有错误。如果uid这个session存在,你就注销,然后又注册一次,那uid肯定是空的,注册不了。
你至少应该将
if(session_is_registered("uid"))
session_unregister("uid");
放在开始到还可以行的通。我觉得你应该用这个方法比较好:
if(session_is_registered("uid"))
header("location:xxx.php");
如果session uid存在,就直接进入主页面
if(session_is_registered("uid"))//注册变量
session_unregister("uid");
session_register("uid");
重复注册session,不是好方法。
而且还有错误。如果uid这个session存在,你就注销,然后又注册一次,那uid肯定是空的,注册不了。
你至少应该将
if(session_is_registered("uid"))
session_unregister("uid");
放在开始到还可以行的通。我觉得你应该用这个方法比较好:
if(session_is_registered("uid"))
header("location:xxx.php");
如果session uid存在,就直接进入主页面
$uid=login($username,$userpass);//处理函数,返回一个字符串
这行代码放在
session_register("uid");
之前一行,这样应该可以
session_start();
$uid=login($username,$userpass);//处理函数,返回一个字符串
session_register("uid");
因该就可以了
session_unregister("uid");
session_register("uid");
好像有点多余,系统应该会自动覆盖原有的SESSION
sessionID一被分配以后就是唯一的,如果重复登陆的话因为已经存在这个ID所以会出错(比如你在这个论坛试试)所以判断一下如果变量已经存在那么转到出错信息,最好不要先session_unregister再session_register
浅妄薄见,望与斟酌