点击计数器在一个请求中多次计数(PHP)

时间:2010-09-02 17:15:02

标签: php kohana

我正在尝试使用Kohana3和PHP创建一个简单的命中计数器。但是当我用它加载一个页面时,它计数为1-3次(通常,第一次命中3,然后是2,然后是1)。

我正在使用的代码:

$game = ORM::factory('game')
    ->find_by_slug($slug);

if(!$game->loaded())
{
    $this->request->redirect('/',404);
}

$game->times_played++;
$game->save();  

示例页面:http://www.plugb.com/game/qrossfire编辑:播放的次数低于描述。

我该如何解决这个问题?

谢谢。

编辑:

我发现了一些这样的请求:

/game/qrossfire
Agent: facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)

/game/stickmen-swat
Agent: facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)

/game/qrossfire
Agent: MetaURI API +metauri.com

2 个答案:

答案 0 :(得分:2)

查看您的浏览器发出的请求,并检查它是否以某种方式为该页面制作了多个请求。 您可能在页面中有一些其他文件(例如图像等)与该路线匹配。

您可以同时检查客户端(使用像Firebug这样的插件)和服务器端(通过观察网络服务器访问日志)

答案 1 :(得分:0)

不确定这是否是问题,但尝试在重定向后添加exit语句,以确保它停在那里。

if(!$game->loaded())
{
    $this->request->redirect('/',404);
    exit;
}