在页面卸载时调用 php 函数


Call a php function when a page unload

我使用php为学生开发了一个电子学习课程。当学生离开课程页面时,应记录他花费的时间。

不,我使用 javascript window.onuload 和 window.onbeforeload 调用 php 函数来使用 ajax 跟踪时间。但它不能正常工作。

页面

卸载时可以从服务器端调用 php 函数吗?

当用户在网站上时,最好在某个时间间隔(例如每 30 秒)向 PHP 页面发送心跳信号。然后,根据收到的所有检测信号汇总所花费的时间。

使用 ajax 发送它们,并在 PHP 中将它们合计。

No.一旦服务器将页面发送到浏览器,它就无法控制或洞察页面上发生的情况。如上所述使用 JavaScript 是使其工作的唯一方法。

大多数网站将页面加载时间存储为会话或类似时间,然后在刷新页面或加载另一个页面时,将单独计算和存储页面上花费的时间。

例:

<?php
    session_start();
    if(isset($_SESSION['lasttime'])){
        $_SESSION['totaltime'] += time() - $_SESSION['lasttime']; //Add seconds onto total time
    }
    $_SESSION['lasttime'] = time();
    //...
?>

如果您的意思是检测他们何时完全离开网站,那么这是不可能的。

这就是Google Analytics的用途。它会跟踪您网站的访问者,并向您报告统计数据,例如访问时长。他们甚至提供了一个 API 来帮助您获取此信息。

如果您不想得到任何解决方案,请参阅以下链接

1) 我如何知道用户或单个 IP 地址在我的网站页面上花费了多长时间?
2)php中的页面会话,我想存储用户在特定页面上花费的时间...?
3) 用户在页面上
花费的时间4) 用户在提交表格
之前在网页上花费的时间

我希望这个链接和答案对你有用.. :-)