Php 获得推荐人百分比

Php 获得推荐人百分比,php,html,referrer,Php,Html,Referrer,获得推荐人详细信息的最佳方式是什么,比如说谷歌20%,msn 10%,内部70%。其目的是了解网站上发布的每篇文章是如何被浏览、访问或引用的。不在谷歌分析中。但博客写完一篇技术文章后,就要检查了。该应用程序使用php,也使用Zen framework。为什么不使用?使用referers制作表格: id |参考|物品| id |计数 以及: 标识|物品|标识|总数| 每次有人访问你的文章时,增加文章的总计数,并正确计数 当你展示它的时候,把这两个计数器分开 对不起我的英语;) 结果的实时性如何 方

获得推荐人详细信息的最佳方式是什么,比如说谷歌20%,msn 10%,内部70%。其目的是了解网站上发布的每篇文章是如何被浏览、访问或引用的。不在谷歌分析中。但博客写完一篇技术文章后,就要检查了。该应用程序使用php,也使用Zen framework。

为什么不使用?

使用referers制作表格:

id |参考|物品| id |计数

以及:

标识|物品|标识|总数|

每次有人访问你的文章时,增加文章的总计数,并正确计数

当你展示它的时候,把这两个计数器分开


对不起我的英语;)

结果的实时性如何

方法1——修改你的应用程序,这样当它提供一篇文章时,它就会存储引用者信息。(可用于PHP应用程序,请查看cgi库)。优点:可以提供实时统计数据,但会降低应用程序的速度并增加额外的复杂性

方法2——保存日志文件并脱机分析它们。可能更全面。请注意,Apache可以将其日志直接存储到数据库中(而不是存储到日志文件中)。这样可以更容易地查询和分析返回给作者的报告


补充——将日志信息存储在数据库(动态或批处理)中的另一个优点是“一个报告导致另一个报告”——今天,作者希望了解referer信息。明天,他们将需要按浏览器类型和国家/地区进行交叉标签。

我不确定您的应用程序是如何设置的,但假设每个帖子都以唯一id存储在数据库中。您的脚本如下所示:

SELECT `domain`, COUNT(*) as `total` FROM post_referrers WHERE `post_id` = 5 GROUP BY `domain`
id, domain, post_id, full_url
  • 使用
    $\u服务器['HTTP\u REFERER
    ]
  • 使用原始post id作为外键和域的规范化版本将其存储在数据库中
  • 然后,当您想要显示统计数据时,运行如下查询:

    SELECT `domain`, COUNT(*) as `total` FROM post_referrers WHERE `post_id` = 5 GROUP BY `domain`
    
    id, domain, post_id, full_url
    
    然后,您可以根据返回的总数计算百分比

    post\u referers
    表如下所示:

    SELECT `domain`, COUNT(*) as `total` FROM post_referrers WHERE `post_id` = 5 GROUP BY `domain`
    
    id, domain, post_id, full_url
    
    如果引用的URL是
    http://google.com/?q=whatever
    您希望存储:

    domain: google.com
    post_id: 5
    full_url: http://google.com/?q=whatever
    

    此信息将在网站上显示给他们。是否有方法处理刷新或回发?比如在页面上发表评论。嗯。。。如果(referer==此站点)刷新!可能是跟某个东西开始一个会话可以吗?有办法知道吗?就像在asp.net中一样,你在global.ascx文件中有session start事件。我不明白-你能不能检查一下[this site address]==[referer]?当然,您也可以为此使用会话。。。