4

我认为谷歌分析并不是获得准确数字的最佳方式,因为没有在浏览器中启用 JavaScript 的用户不会被计算在内。因此,我想四处制作自己的 Anylytics。

我有一个表格,将记录用户的 IP 地址、页面 URL 和日期/时间。

然后,我在网站每个页面的底部都有一个脚本,然后它将运行 SQL 查询以将数据提交到数据库中。

这是脚本。

$page_viewed = mysql_real_escape_string($_SERVER['REQUEST_URI']);
if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
     $ip=$_SERVER['HTTP_CLIENT_IP'];
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
     $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
     $ip=$_SERVER['REMOTE_ADDR'];
}
$ip = mysql_real_escape_string($ip);
mysql_query("And then do the sql query.... ");

由于这里的大多数人都是经验丰富的开发人员,我想知道您是否对我的脚本有任何改进或任何需要修改的地方。

4

4 回答 4

2

这似乎是个坏主意……通常,分析发生的情况是当用户不支持 javascript 时,他们的浏览器会解析 html 标记中包含的内容。通常在这些中,您可以包含单个像素图像或类似的东西(图像的目的是调用您上面给出的代码)。使用此请求来获取有关没有 javascript 功能的客户的信息,而不是让每个人都陷入同一条船上。

于 2012-05-20T14:18:13.763 回答
1

如果您使用的是 Apache,这一切都会记录在您的日志文件中。您可以使用http://awstats.sourceforge.net/之类的东西来分析它们。

如果您拥有值得分析的不支持 JS 的流量,那么使用 MySQL 和 PHP 进行日志记录将会杀死您的服务器。

于 2012-05-20T14:22:59.893 回答
0

由于浏览器缓存和 javascript,您会发现日志文件分析也不是 100% 准确的。结合日志分析和页面标记是大多数网站的最佳选择。过去几年我都使用过 Nihuo和谷歌分析,它们对我来说非常有用。

于 2012-05-21T03:29:15.173 回答
0

正如上面提到的@Blowski,有更好的选择。我过去使用过Mint,这是一项令人难以置信的服务。它是用 PHP 编写的,既美观又易于理解。

我鼓励您花一些时间查看其功能亮点以及截屏视频和屏幕截图,然后再花更多时间重新发明轮子 - 您的时间很宝贵。

于 2012-05-20T14:33:24.933 回答