一般来说不使用
session_start();
session_destroy();
是不会清除session的(删除临时文件)不管是否过期,只要还开着浏览器窗口,而且没使用session_destroy(),session都是有效的。
关闭浏览器窗口后session就无效了,但临时文件还存在。
session_start();
session_destroy();
是不会清除session的(删除临时文件)不管是否过期,只要还开着浏览器窗口,而且没使用session_destroy(),session都是有效的。
关闭浏览器窗口后session就无效了,但临时文件还存在。
一般系统是在一段时间里自动随机清除的。随机数可以在php.ini中设。
<body onbeforeunload="window.open('loginout.php')">loginout.php
<?
session_start();
session_destroy();
?>
不过,我的系统在session_destroy()时,会把相应的变量删除!
2、session.cookie_lifetime 只是表示存储与客户端cookie中的session号的有效时间
3、执行session_destroy()只是声明本次session会话结束
4、所以利用session文件来判断用户是否在线是不可靠的
session.cookie_lifetime=600,(即10分钟后拥护不操作则删除session文件)
每次用户登陆,我将他的sessionid记录在数据库,
然后有程序检查数据库中的sessionid对应的文件是否存在,来判断是否有人吊线并删除,
这样不是也挺好?省的每页都要加一个修改数据库以更新用户时间浪费资源。
我感觉这样思路还是可以的。不管怎样,截贴了,谢谢大家