我正在尝试使用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
答案 0 :(得分:2)
查看您的浏览器发出的请求,并检查它是否以某种方式为该页面制作了多个请求。 您可能在页面中有一些其他文件(例如图像等)与该路线匹配。
您可以同时检查客户端(使用像Firebug这样的插件)和服务器端(通过观察网络服务器访问日志)
答案 1 :(得分:0)
不确定这是否是问题,但尝试在重定向后添加exit
语句,以确保它停在那里。
if(!$game->loaded())
{
$this->request->redirect('/',404);
exit;
}