我想实现一个PHP统计登录后的在线用户的功能 需求是能正确统计出在线用户, 在用户退出或者断开连接后能在一定的时间更新信息.   网上很多都是用文件法或者数据库法配合做   这样每个页面都要做处理    有没有比较方便点的方案???

解决方案 »

  1.   

    即然要统计这个信息,必然要保存起来,然后客户端ajax刷新取值~
      

  2.   

    根据session文件的生成时间以及生命周期计算
      

  3.   

     如何统计session?   php的session的创建和销毁不像java一样主动触发某些方法吧?   那么如何实现实时更新统计过期的session呢
      

  4.   

    我也想听听高人的解答,在ASP中我是用session触发和销毁事件统计
      

  5.   

    我是一个新手,我有一个想法大家不要笑我啊!
    能不能在数据的用户表里设置一个字段来标识是否登录!
    然后用户登录的时候自动将这个字段改为在线状态!
    接着做两个事件,一个是用户主动点击网站上的注销按钮时把状态改为登出!
    另外一个就是做一个用户关闭浏览器窗口时触发JS事件,然后用AJAX到后台去处理!因为用户可能关闭的是一个标签,所以不一定就是关闭整个浏览器登出了,可以在后台检查SESSION是否已经销毁了,然后对应处理!排除用户浏览器假死直接关进程和电脑突然死机的情况,这种我觉得根据那个字段统计出来的在线用户应该也是八九不离十的!但是坏处是增加了对服务器的请求次数和数据库的操作次数!
    但是对于不是很大型的网站来说这应该不成问题!我纯属新手,想给楼主一点建议,勿喷勿笑!
      

  6.   


    这种方法不行      一旦用户长时间驻留一个页面不动 那么当session过期后任然不能更新在线用户列表