session_destory()
要不你先要打所有的窗口都关闭!!

解决方案 »

  1.   

    清了浏览器的历史记录了没?
    try it
      

  2.   

    我不能用session_destory(),因为我的目的是要在用户在不关浏览器的话session一直保留,而在关闭浏览器后session即清空。现在是关了所有浏览器窗口后,session仍然没有清空。
      

  3.   

    我试过将浏览器的历史记录、临时文件、cookies所有均清除后,重启浏览器后,该session值仍然存在!!唉,阴魂不散!
      

  4.   

    我比你还郁闷,我有session变量说啥也注册不上,换个页面就无效,你知道是怎么回事吗?帮帮我吧,
      

  5.   

    1、建议在取用session变量的时候不要直接用$a的形式,而是用:$HTTP_SESSION_VARS["a"];
    2、建议你重装另一版本的PHP试试看,新版本的PHP好象还有一点点问题,装一个旧一点的如4.1.1试试看吧。
      

  6.   

    老兄,应该知道php中session的工作原因吧通过客户端的cooike再结合服务器端全局变量的概念来存放session变量值看了你以上的情况:从理论上讲有两种情况可以把session销毁(只是作为学习认识参考,根据情况采取不同的方法).将apache服务器重启或者是将客户端的cooike删除(如果你是本机调试的话)破坏这两者的联系就存取不到session变量了如果你真要将session变量清空:手动使用这个不行吗?session_unregister(string sessionname)
      

  7.   

    我查看PHP关于session的说明,我的理解是:
    session并不完全依赖于客户端的cookie,这是php的一个好处。即:如果php.ini中设定session.use_cookies=1时,session在客户端建立一个cookie来保存PHPSESSID,同时设定session.cookie_lifetime=0,则表示浏览器关闭后该cookie即失效,这和asp中的session是一致的。如果在php.ini中设定session.use_cookies=0时,则session用QUERY_STRING的方式在页面间传递,即加了个PHPSESSID到QUERY_STRING中。但是我不知道如果设定session.use_cookies=1时,而客户端又禁止cookie,这时候PHP是不是自动用QUERY_STRING来处理,我看到有的文章说是,但是好象要求php 4.3以上版本。我查看了我的程序的运行情况,一个奇怪的现象是我打开页面注册session时,该session_id完全一样,即使在重启了浏览器、apache服务器后都是如此。所以我修改了我的php.ini中如下地方:
    原来为:
    session.entropy_length = 0 
    session.entropy_file = 
    ;session.entropy_length = 16 
    ;session.entropy_file = /dev/urandom 
    修改为:
    ;session.entropy_length = 0 
    ;session.entropy_file = 
    session.entropy_length = 16 
    session.entropy_file = /dev/urandom
    再来查看session_id,这时候的现象就更奇怪了,session_id有时会变,有时不会(都是在重启浏览器后再运行)。所以现在的程序是有时候运行很正常,但有时就不对。