直接关闭窗口当然不行啦。你可以做一个退出的链接来消SESSION。但SESSION有一个失效的时间。超过这个时间那些TEMP目录下的文件自已就没有了。

解决方案 »

  1.   

    to yueok(悦) 
    又见面了引用"SESSION有一个失效的时间。超过这个时间那些TEMP目录下的文件自已就没有了"
    好像不行,都过了好几天了,我的%tmp% 目录下的 sess_xxxxxxxxx 临时文件还存在
      

  2.   

    噫,那就不对了也
    我们现在做的东西基本上都有用SESSION,但是直接关窗口的情况很多。。但过一段时间以后里面就没有东西了啊。
      

  3.   

    将 SESSION 目录设置在 %windir%/temp 或 Temporary Internet Files,系统清理时自动清理.
      

  4.   

    看看.ini里的SESSION的生存期
    我曾经也想做一个关闭窗口清除SESSION的东西
    发现用body里用unLoad=""在关闭的时候打开新窗口去清除SESSION
    这样很麻烦 决定不用了 反正系统可以自动清除
      

  5.   

    用以下判断窗口关闭时,打开一新窗口清除SESSION后,自动关闭新窗口。function window.onbeforeunload()
    {
    if (event.clientX>document.body.clientWidth && event.clientY<0||event.altKey)
    {exit();}
    }
      

  6.   

    用session_destroy() 就可以啦
      

  7.   

    不要占牛角尖.PHP能自己应付的事,如果你不能用程序记它更强,那就按它的规则来做
      

  8.   

    各位,现在我在这里提出来这个问题还真得考虑!
    我是平生第一次遇到这个问题:session的生存周期竟然可以是“无线!”
    我狂晕!
    这肯定是设置的问题,可是不管我怎么修改配置文件,问题依然存在 包括不用 cookie 将cookie周期设为0等等,均无效!
      

  9.   

    php会自动清理的,不过是有时间限制的
    自己处理一下..
      

  10.   

    大家都在干吗?
    说了一通,一点有用的都没有,跟别人问的问题根本不相关,如果关了浏览器后SESSION仍不过期的话,那第二人来了再开浏览器,不是就用第一个人的帐户登陆了吗?
      

  11.   

    只要让session过期,cookie里就没有相应的session id
    别人是登陆不了的.
      

  12.   

    你应该检查一下php.ini中的session的生存期,我觉得应该是这个值有问题。我一直都是用session,我最开始也是不能自动清除session,后来好象就是改了一下这个值就可以了。
      

  13.   

    session 是有时间的,就是好像php.ini文件中可以设置多长时间session 实效,如果手动关闭窗口的话,我有个不成熟的方案,就是在你得页面终有个隐藏的frame或iframe.在主body 种写onunload="aa()"然后你在上边的javascript 中写aa函数,就是向frame(iframe)传递参数,然后frame(iframe)页面自动通过参数吧你的session 删掉!