没人救俺吗?我想用session是否可以实现?但是不知道怎么获取用户离开这个页面的时间,谁帮帮我哟

解决方案 »

  1.   

    那怎样获得离开这个页面的时间呢
    我知道asp怎么写,但php中不知道session的这个函数
      

  2.   

    假设a.php为你要统计的页面,你能保证客户端访问完a.php到b.php(其它页面)吗?如果可以的话就先在a.php里这样:<?php
        session_start();
        $session['a.php'] = time();
    ?>然后b.php里是这样:<?php
        session_start();
        echo time() - session['a.php']; //这是它从a.php到b.php的时间
    ?>如果你不能保证这个流程(例如访问a.php后关闭浏览器),那我就不知道怎么统计这个时间了,因为参考物。
      

  3.   

    echo time() - session['a.php']; //这是它从a.php到b.php的秒数打错了,是没有参考物。
      

  4.   

    谢谢,是有些启发了,但是还是不能实现我要的效果
    不能在一个页面里完成统计时间的功能吗?
    我看过好象asp的一个程序可以实现
      

  5.   

    我想到另外一种思想
    可不可以实现这样的功能 如果b.php是从a.php链接来的,怎样知道b.php是从哪里链接来的呢
    也就是说想做个判断
      

  6.   

    <BODY onload="alert('进来了');" onUnload="alert('离开了');">
    </body>
      

  7.   

    用你自己的代码替换alert(),通常就是把离开-进来的时间差在onUnload的时候传到你的服务器
      

  8.   

    只用session比较难以统计时间
    最好是配合数据库,记录一下离开的时间.
      

  9.   

    <script>
    var inTimeVal;
    var outTimeVal;
    function InFun()
    {
    var d=new Date();
    inTimeVal=d.valueOf();
    alert('进来了\n进入时间为:'+inTimeVal);
    }
    function OutFun()
    {
    var d=new Date();
    outTimeVal=d.valueOf();
    alert('离开了\n进入时间为:'+inTimeVal+'\n离开时间为:'+outTimeVal+'\n时间差(毫秒):'+(outTimeVal-inTimeVal));
    }
    </script>
    <BODY onload="InFun();" onUnload="OutFun();">
    </body>
    以上是完全用Javascript的时间,实现的方法很多
      

  10.   

    问题是怎样知道浏览人离开这个页面了呀
    现在我的难题是这些功能只能在一个页面完成
    javascript倒是在一个页面实现,可以用onunlaoad,但数据只是在客户端不能保存到数据库呀
    郁闷哟!!
      

  11.   

    下面这段程序不会引起页面的刷新<script language="JavaScript" id="retimejs"></script>
    <script language="javascript">
    <!--
      function retime()
        {
      phpfilename="retime.php?pagename="页面名称"&time="+秒数;  //页面名称就是传递本页的名称给处理程序以方便你记录下是在哪个页面
    //秒数和下面的SETTIMEOUT中的秒数一致,代表几秒钟执行一次本函数    document.getElementById("retimejs").src=phpfilename; //phpfilename 是处理时间的那个页面。。记住那个页面不要有任何输出
       
               settimeout(retime(),秒数) ;//呵呵,也许这个函数我写错了,因为JS不是太好。。
    }
    //-->
    </script>相信处理页面时间的函数不用我说了吧,,在数据库中找到对应这个页面的时间加上传入的秒数就OK了,,
    只是时间会有些误差,比如你要是设置为10秒一次的话,那么还没到10秒就不算了。。