销毁session无外乎3中方法
1、unset($_SESSION) 销毁当前页面的session,记住了,其他页面的session还是存在的,说深入一点,如果在函数中unset()的一个全局变量或者一个通过引用传递的值,则其只能在局部销毁变量,在调用环境中的变量却会保持调用unset()前一样的值。
2、session_unset和session_destroy()能达到销毁整站session的目的,这个2个区别如下session_unset()释放当前在内存中已经创建的所有$_SESSION变量,但不删除session文件以及不释放对应的session id,session_destroy()删除当前用户对应的session文件以及释放session id,内存中的$_SESSION变量内容依然保留
还有一个必须注意的,在销毁之后,其实这个session还存在于当前页面的内存中,最好再来一个unset,读者试试下面列子就知道了
session_start();
$_SESSION['name'] = 'yyf';
$_SESSION['age'] = 23;
//unset($_SESSION);//这个放在这里或者放在session_destroy后面均可
session_destroy();
print_r($_SESSION);//呵呵,这里还能输出,其实该session已经被删除了
如下写也可
session_unset();
session_destroy();
//上面的顺序不能颠倒
评论