我创建了一个网站,用户可以在其中添加条目,关联不同表格中的行等等。我需要跟踪用户为分数表执行的操作。
我还需要跟踪网页浏览量。
我正在试图找出跟踪/记录此内容的最有效方法。
最好是:
其他任何方法都很好吗?
我不知道当我启动此网站时,我的网站会有多少用户,但希望我会有一些交通。
答案 0 :(得分:1)
您可以使用行创建数据库表:
如果您想跟踪流量,这非常有用。
伪代码:
if(!$bot) {
$visit = Array(
'date' => date("Y-m-d H:i:s"),
'ip' => $_SERVER['REMOTE_ADDR'],
etc ...
);
$sql = "INSERT INTO visits (`".join("`,`",array_keys($visit)."`) VALUES ('".join("','",array_values($visit)."')";
...
}
使用相同的数据库,因此与mysql服务器的连接较少。
在PHP脚本中执行此操作(在mysql_connect
之后是非常好的主意),我相信每次访问一次INSERT对您的计算机来说不是一个大挑战。
答案 1 :(得分:0)
如果你想要可靠的结果,我不会使用Javascript,因为用户可能已禁用或可能会尝试操纵它以某种方式作弊。
理想情况下,我会使用单独的模式,因为它会扩展最佳(您可能在将来希望将该模式拆分到单独的服务器上进行处理),尽管这会使得很难在两个模式之间连接数据。您可以从同一模式中的新表开始(只要您的代码被很好地封装起来,您可以随时在以后的日期中破坏登录)。
答案 2 :(得分:0)
我建议寻找异步的解决方案(以最小化对最终用户的性能影响)并与整体访问者数据解决方案集成(以便可以组合各种指标的报告)。例如,Google Analytics提供Event Tracking,以便您可以在访问者,网页浏览等上添加标准指标,以及您描述的任意用户操作数据。
答案 3 :(得分:0)
您是否考虑过使用HTML5网络存储:http://www.w3schools.com/html5/html5_webstorage.asp
您可以使用javascripts sessionstorage对象(数据存储在键/值对中)将所有页面活动存储为此对象的属性,然后将此信息与注销操作一起POST到后端脚本,后端脚本又维护相应的数据库条目,我相信通过在最后一个请求中发送页面活动信息,您可以通过所有开销避免不必要的http请求。
你应该在每次用户登录时重新初始化对象。