建一个在线用户表,登录后将此用户插入在线表。logout时将其从online表中删除

解决方案 »

  1.   

    建一个在线用户表,登录后将此用户插入在线表。logout时将其从online表中删除
    -------------------------------------
    还要扑捉到用户关闭浏览器LOGOUT的时候也要删除,不仅仅是正常退出
      

  2.   

    建立一个在线用户的表,然后建立一个包含文件,里面写上更新在线用户表最后在线时间的语句:
    mysql_query("update online_user set last_access_time='".date("Y-m-d H:i:s")."' Where username='"$_SESSION["username"]"'");
    让所有的页面把这个文件包含进去,每当用户登录或者访问页面的时候改写该用户的最后在线时间。
    然后判断用户是否在线实际上就是判断“当前时间”和“用户最后在线时间”之间的时差在3~5分钟以内的就可以了。
    为了更准确,还可以在页面中用javascript和XMLHTTP定时刷新页面,不断改写最后在线时间。
    当然如果用户明确通过logout退出登陆,就可以直接把该用户的最后访问时间给改成"0000-00-00 00:00:00"
      

  3.   

    你的想法应该对了一大部分,
    我在这里补充一点就是  
    你可以登录的表里添加一个时间字段(最好是time()).这里写一个30秒刷新页面的小程序~~~if(这个用户有没有他的IP存在  注:是最近的一个记录)
    {  
       if(在案用这个时间字段对比现在的用户是不是已经超过了一定的时间(如:30秒))
          更新记录.   
    }
    else
    添加用户记录.