为了账号安全,请及时绑定邮箱和手机立即绑定

退出,销毁session。为何session_destroy()前要重置$_SESSION=array()? 求科普

function loginOut(){

     $_SESSION=array();

     if(isset($_COOKIE[session_name()])){

     setcookie(session_name(),"",time()-1);

     }

     session_destroy();

     header("location:index.php");

}


正在回答

4 回答

$_SESSION = array();//是重置会话中的所有变量

session_destroy();//销毁会话

假如不是删除单个的session,要删除全部的session,其实“$_SESSION = array();”是不用写的,只写"session_destroy();"就可以了。当然写了比较规范一点。



0 回复 有任何疑惑可以回复我~
#1

Fourtwothree 提问者

非常感谢!
2016-05-16 回复 有任何疑惑可以回复我~

session_destroy()可以删除当前用户对应的session文件和释放session id,但是内存中的$_SESSION变量依然存在,所以需要使用$_SESSION=array()对内存中的$_SESSION变量释放。

0 回复 有任何疑惑可以回复我~

$_SESSION=array()是把当前会话中的所有session变量全部清空(服务器端该session文件里面的内容也会清空);

session_destroy()是把当前会话保存在服务器端的session文件删除。

所以需要这两步~


0 回复 有任何疑惑可以回复我~

难道没人知道吗 ???

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
手把手教你实现电商网站后台开发
  • 参与学习       117283    人
  • 解答问题       1999    个

手把手教你用PHP搭建电子商务平台,由浅入深教你搭建电商系统

进入课程

退出,销毁session。为何session_destroy()前要重置$_SESSION=array()? 求科普

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信