我使用 php 为学生开发电子学习课程。当一个学生离开课程页面时,他花费了多少时间应该被记录下来。
不,我使用 javascript window.onuload 和 window.onbeforeload 调用 php 函数来使用 ajax 跟踪时间。但它不能正常工作。
页面卸载时可以从服务器端调用php函数吗?
我使用 php 为学生开发电子学习课程。当一个学生离开课程页面时,他花费了多少时间应该被记录下来。
不,我使用 javascript window.onuload 和 window.onbeforeload 调用 php 函数来使用 ajax 跟踪时间。但它不能正常工作。
页面卸载时可以从服务器端调用php函数吗?
当用户在网站上时,您可能会在某个时间间隔向 PHP 页面发送心跳信号,例如每 30 秒。然后,根据收到的所有心跳计算花费的时间。
用 ajax 发送它们,并在 PHP 中汇总它们。
这就是谷歌分析的目的。它会跟踪您网站的访问者并向您报告统计信息,例如访问时长。他们甚至提供了一个 API来帮助您获取这些信息。
如果您不想得到任何解决方案,请参考以下链接
1) 我如何知道用户或单个 IP 地址在我的网站页面上花费了多长时间?
2)php中的页面会话,我想存储用户在特定页面上花费的时间......?
3)用户在页面上花费
的时间
4)用户在提交表单之前在网页上花费的时间
我希望这个链接和答案对你有用.. :-)
不会。一旦服务器将页面发送到浏览器,它就无法控制或了解页面上发生的情况。如上所述使用 JavaScript 是使其工作的唯一方法。
大多数站点将页面加载时间存储为会话或类似内容,然后在刷新页面或加载另一个页面时,将单独计算和存储在页面上花费的时间。
例子:
<?php
session_start();
if(isset($_SESSION['lasttime'])){
$_SESSION['totaltime'] += time() - $_SESSION['lasttime']; //Add seconds onto total time
}
$_SESSION['lasttime'] = time();
//...
?>
如果您的意思是检测他们何时完全离开网站,那么这是不可能的。