WEB程序尚不能做到真正的在线、离线会员判断。
一般都是写一个函数,被动的等会员点击页面,然后刷新在线时间,超过某一段时间的,则删除在线记录。

解决方案 »

  1.   

    xmlHTTP刷新用户在线时间,一定时限内不允许用户在线再登录。
      

  2.   

    我的方法:1、将SESS文件存在自定义文件夹中;
    2、每个页面中应该有$_SESSION['某值']='某值';
    3、即时取得SESS文件的更新时间(filemtime('SESS_'.session_id())与当前时间比较,超过一定时间(如60分钟)视为离线。
      

  3.   

    更正一下:filemtime('你的SESS文件路径/SESS_'.session_id())
      

  4.   

    如果要求特严格的话试试socket
      

  5.   

    yiwusuo写的思路不错...但如果是电影网站的方式呢??? 比如一片子的长为1个小时以上, 当用户在看影片的时候,实际该用户并未离线...这个判断时间就将近为一个小时长,有个别的影片长达3个小时一片的也有, 但如果这个用户刚在登陆后突然IE出错或是电脑死机后,那他的帐号岂不要等一个或是三个小时才能解锁了.这还得考虑另一个用户在另处用同一帐号登陆的问题...用SESS文件好象又不是挺方便的...我想的方法是用框架,其中一页为隐藏页,每隔10分钟向SQL数据库刷新一次更新时间,这样不管是本地登陆或是外地登陆的帐号,只要在数据库中读出的更新时间超过10分钟的话,就可以重新登陆了.....当本地用户已登陆在网站上,外地用户则无法再登陆,会提示“该帐号已在使用中,请10分钟后再试...”
      

  6.   

    感觉好象与7年前我第一次用PHP写聊天室似的。
      

  7.   

    1、但如果是电影网站的方式呢??? 比如一片子的长为1个小时以上, 当用户在看影片的时候,实际该用户并未离线...这个判断时间就将近为一个小时长,有个别的影片长达3个小时一片的也有, 但如果这个用户刚在登陆后突然IE出错或是电脑死机后,那他的帐号岂不要等一个或是三个小时才能解锁了.
    ------------------------------------------------------------------
    这一点似乎并不是问题,因为我的第二点:每个页面中应该有$_SESSION['某值']='某值';只要此用户一动则将再次生成相同session_id的SESS文件,则又立即在线;2、这还得考虑另一个用户在另处用同一帐号登陆的问题...
    ------------------------------------------------------------------
    这问题也可解决,因为SESS文件是可读的,读进去寻找答案
    这是我的在线统计方法,供参考一下:
    http://www.162100.com/forum/list_contents.php?forum_id=2&area_id=2&list_id=300
      

  8.   

    1、但如果是电影网站的方式呢??? 比如一片子的长为1个小时以上, 当用户在看影片的时候,实际该用户并未离线...这个判断时间就将近为一个小时长,有个别的影片长达3个小时一片的也有, 但如果这个用户刚在登陆后突然IE出错或是电脑死机后,那他的帐号岂不要等一个或是三个小时才能解锁了.
    ------------------------------------------------------------------
    这一点似乎并不是问题,因为我的第二点:每个页面中应该有$_SESSION['某值']='某值';只要此用户一动则将再次生成相同session_id的SESS文件,则又立即在线;**********************那么这个一动岂不是要等好几小时的判断时间了?
      

  9.   

    2、这还得考虑另一个用户在另处用同一帐号登陆的问题...
    ------------------------------------------------------------------
    这问题也可解决,因为SESS文件是可读的,读进去寻找答案
    这是我的在线统计方法,供参考一下:
    http://www.162100.com/forum/list_contents.php?forum_id=2&area_id=2&list_id=300*******************这个虽然你的方法有这一方面的,但得考虑第一点与第二点相结合才行!
      

  10.   

    当用户在看影片时, 这段时间可能不动, 但又在线状态... 更新时间可能会是三个小时后才有动作才更新!我想方法可能与iasky有点类似,用数据库session, 不想用文件的session, 文件的session执行速度好象没有数据库的快.
      

  11.   

    我们不用他动用AJAX技术定时的更新他的在线时间可以看一下我做的效果http://hjx398.2169.cn/我建设中的博客开几个浏览器测试效果,源文件就可以看到AJAX代码了想要全部源代码的话[[[[[[[[[欢迎加入群7499971]]]]]]]
      

  12.   

    看来我有点落伍了,我还要采用框架形式,原来有个AJAX,看来我是得取用这个方法了...谢谢hjx398,你的那个网站上那一点点AJAX就足够了,调用的程序我就会写了....只要不用刷新整个页面就行了.....看来这个AJAX用处真不错....以后做什么也得结合这个东东了...我除了一个电影网站得修改些功能...还有个资料网站想要改版,资料网站要求比较高,因为是做给公安局网安科的,得记录IP,注册帐号,还有对杜绝些敏感的内容...这两个的确都需要用到AJAX了.非常感谢hjx398,让我认识了AJAX...要不然我还一直不知道AJAX具体功效是什么.