<script language="javascript">
window.onbeforeunload = function()  //author: meizz
{
  var n = window.event.screenX - window.screenLeft;
  var b = n > document.documentElement.scrollWidth-20;
  if(b && window.event.clientY < 0 || window.event.altKey)
  {
    
window.open("login.php");
  }
}
</script>

解决方案 »

  1.   

    不是好办法,万一死机什么的呢?最好的办法的判断多久没动作的,然后userState = 1
      

  2.   

    session 有个生命周期和浏览器挂钩,检查你的session_id/cookie是否存在/过期,不存在就调用注销程序
      

  3.   

    To:genshing
    怎么判断多久没动作?
      

  4.   

    To:Crieby
    请正解,页面都关掉了,程序还能运行吗?
      

  5.   

    回qiyeziyan
    session 失效了,还用运行注销吗?
      

  6.   

    请问这个userState怎么修改为1?
      

  7.   

    不行,好象没什么好方法,关掉浏览器了就没什么操作了.
    服务器端是可以知道用户的当前状态的,是否只能在服务器端定时刷新....
    JAVASCRIPT似乎也是可以的
      

  8.   

    所以说两种方法结合用啊,我那个就可以一关闭句更改状态,万一死机了,就用时间来判断SESSION是否失效,失效了就更改状态
      

  9.   

    argenCHN(【夷不谋夏,胡不乱华】) ( ) 信誉:100    Blog  2007-01-20 00:27:03  得分: 0  
     
       最好不要用字段来表示是否登录---------------------
    同意
      
     
      

  10.   

    不知道写个windows服务,监听机器状态(指意外死机这种情况)是不是可以实现
    对windows不是很了解
    只是猜想,说错了勿怪
    关闭窗口时就调用关闭窗口事件中更新了
    再就是监视SESSION失效后更新
      

  11.   

    <%
    response.expires = 0   
    response.expiresabsolute = now() - 1  
    response.addHeader "pragma","no-cache"  
    response.addHeader "cache-control","private"  
    Response.cachecontrol = "no-cache"
     
    if session("member") = "" then
    %>
    ASP里这样就可以了,不知道PHP里要怎么写,不过我想意思是差不多的...还有,为什么要把登陆状态写到数据库里啊,有什么用?