现在在做BBS的项目,打算在用户表中设两个字段记录用户登入,登出的时间。问题是用户打开页面就登入了,关闭就登出,该怎么样记录呢。

解决方案 »

  1.   

    可以提供一个退出按钮,如果用户通过点击退出按钮退出,onclick=unload();发送一个请求到后台,插入记录到数据库。
    如果用户关闭浏览器退出,window.onunload=unload();
      

  2.   

    使用监视器~ 当session 失效的是很触发一个事件就是了~这个事件就是你需要的推出时间.具体的监视器名称我忘记了,上网查查
      

  3.   

    http://www.kxgx.com/codes/soft/200803/10051.html  找到了 这个是关于Session Listener的使用方法 当用户点击退出 使用session 失效的时候 就可以知道退出事件了, 但是要是用户是直接关闭窗口的就只能等到session超时才会销毁~ 一般是30分钟,看你服务器怎么设置了
      

  4.   

    如果有logout,且用户点击了这个连接,那么你可以在这个页面里处理否则我们无法获得精确的退出时间
      

  5.   

    如果用户点退出链接那个好办,后台处理就可以了。
    如果用户直接关闭浏览器的话,可以使用监听<script language="javascript"> 
    window.onbeforeunload = function() 

    if((window.event.screenX - window.screenLeft) > (document.documentElement.scrollWidth-20) && window.event.clientY < 0 || window.event.altKey) 

    //location.href='xxxx';
    alert('eeee') } else if((window.event.screenY - window.screenTop) > (document.documentElement.scrollHeight-20) && window.event.clientX > 0 || window.event.altKey){
    //location.href='xxxx';
    alert('eeee')
    }

    </script>
      

  6.   

    我也觉得不太行,就像我们很难知道哪些session何时失效了一样,除非给个登出按钮,但客户通常都会直接点叉叉退出。