我正在开发一个在线学习系统(PHP,MySQL和Javascript)。我想跟踪每个页面以及每个用户在每个页面上花费的时间。理想情况下,我想将其记录在MySQL数据库中。我的问题是2折: 1.我将在db表中包含哪些字段来记录访问的多个页面? 2.此问题最好是仅由服务器端接近还是使用javascript?例如服务器端:附加了页面ID的隐藏表单字段,页面id传递给db并记录?或Javascript:记录Javascript变量中的所有操作,并以某种方式在会话结束时传递给db?
我真的只是在寻找一种方法的高级指导,而不是代码片段。
GF
答案 0 :(得分:1)
PHP不是我的常用语言,但我会考虑创建一个可以从每个脚本的顶部调用的代码模块,它基本上会记录“我使用这些表单变量为此页面提供了服务” xxx ......“。更确切地说,我会将其记录在表格中。
如果您需要知道用户何时离开您的页面,对于另一个站点上的页面或者可能关闭其浏览器,那么纯粹的服务器端解决方案不会削减芥末。在那种情况下,您将不得不开始考虑JavaScript和拦截事件 - 例如onUnload事件......
阅读here...
答案 1 :(得分:0)
虽然我知道没有可以跟踪开箱即用的个人用户的解决方案(我确定有一些),但我很确定您可以自定义Piwik来执行此操作。 Piwik旨在成为谷歌分析的自托管替代品。它是开源的,基于Zend Framework和MySql构建。
Piwik通过JavaScript跟踪代码和Webbug图像收集使用统计信息以进行后备。基本上,您需要做的是将登录用户的用户ID传递给跟踪脚本,然后将write a plugin知道如何处理此信息。