无法清除session的问题

yingxj 2002-04-17 08:43:40
我在在用户登陆是设置session变量,然后在用户退出页面中用session_unregister和session_destroy清除session。但是session清除后在其他页面中用session_start后仍能获取sessionid 和原来设置的session变量值。
请如何彻底清除session? (其中session_use_cookie=1)
...全文
328 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
dgj 2002-04-18
  • 打赏
  • 举报
回复
session_start() 和 session_destroy() 是一对函数。

session_unregister(name) 是注销一个session变量,这样做后在
别的页面上调用 session_is_registered(name) 应该就会返回 false
你可以这样来判断用户是否登陆,是否已退出登陆.
yingxj 2002-04-18
  • 打赏
  • 举报
回复
问题已发现,是我赋值写错
原来
session_register("username");
$HTTP_SESSION_VARS["username"]="名字";
改为
$username="名字";
session_register("username");
就可以了
ye169 2002-04-18
  • 打赏
  • 举报
回复
我也发现这种问题,苦恼中!
nne998 2002-04-18
  • 打赏
  • 举报
回复
例如要清除名为:myinfo_session_g_user_id的 session,这样:


<?
@session_start();
@session_unregister("myinfo_session_g_user_id");
@session_destroy(); //这句将清除所有的session
?>

nne998 2002-04-18
  • 打赏
  • 举报
回复
这样呢??

session_start();
session_unregister("username");
session_destroy();
echo "username=".$HTTP_SESSION_VARS["username"];

yingxj 2002-04-18
  • 打赏
  • 举报
回复
我用
session_unregister("username");
session_destroy();
echo "username=".$HTTP_SESSION_VARS["username"];

居然会显示原来注册的username,其中session_unregister和session_destroy返回值都为1,可见session_destroy实际上根本没成功,怎么办?
yingxj 2002-04-18
  • 打赏
  • 举报
回复
没错啊我是先session_unregister()然后session_destroy(),应该说清除session了,当在其他页面中用 色session_id()还是能取回session。
我怀疑存在本地的sessionid没有清除,不知有什么办法搞定
confu 2002-04-17
  • 打赏
  • 举报
回复
session_destroy应该是彻底清除session!

21,887

社区成员

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

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