你在页面中加入定时刷新的程序,刷新它本人在线的IP,并在刷新的过程中,大于某个时间的IP没有更新的,说明它已经离线,我好像没试过实时的在线数据。

解决方案 »

  1.   

    也许你经常上网,访问某网站时,发现有窗口一闪而过...
    可能就是在处理这种信息
    在页面的onbeforeUnload函数(适用于IE,NC有别的函数)中弹出一个子窗口让它去做善后工作
    简单写一段,你自己调试吧:
    [main.php]----------------------------------------------
    ......
    <body onbeforeUnload="leave()">
    function leave(){
    ByeWindow = window.open("","windowRef","width=0,heigth=0,top=10000,left=10000");
    ByeWindow.location.href = "leave.php";
    }
    -----------------------------------------------------------------------------------------------------------------
    <?PHP
    //you can write you clean codes here
    ?>
    <html>
    <head>
    <title>Leaving.......................</title></head>
    <script language="javascript">
    window.close();//make the window close
    </script>
    --------------------------------------------------------
      

  2.   

    用session注册变量不就行了  注册在sesion里如果用户有 就纯在 没有就删除
      

  3.   

    我觉得还是定时刷新好以前的做法:
    数据库字段设一个logtime,在用户登录网站时加入该时间值
    设置用户在线显示页面定时刷新(10秒,30秒....可自设)
    检查logtime + 60秒 < 现在的时间 把该记录标记为下线,或删除它