我在我的网页末尾放了一个函数来计算线程的视图,功能如下
function add_view($thread_id)
{
global $connection;
$qry = "UPDATE tbl_threads SET views = (views+1) WHERE ";
$qry .= "thread_id= {$thread_id}";
mysqli_query($connection,$qry,MYSQLI_STORE_RESULT);
}
此功能在页面末尾触发一次。但问题是当我打开页面一次,然后在数据库中看到有4个视图。
有时会增加3,有时会增加4,有时会增加2到tbl_threads的视野。
看起来我的网页不止一次触发,是否可能,(我的网页还有Google Analytics和Google Adsense代码)
任何人都可以分析问题吗?
这个问题的解决方案是什么?
答案 0 :(得分:0)
如果您使用网址重写,浏览器可能会请求其他资源(例如favicon.ico
),如果该资产不存在并被重写以请求您的php文件,则会受到另一次打击。 Apple设备也在寻找不同的图标/图像。
答案 1 :(得分:0)
这可以帮助您只计算一次客户点击。
function add_view($thread_id)
{
global $connection;
if(!isset($_SESSION[$thread_id])) {
$qry = "UPDATE tbl_threads SET views = (views+1) WHERE ";
$qry .= "thread_id= {$thread_id}";
mysqli_query($connection,$qry,MYSQLI_STORE_RESULT);
$_SESSION[$thread_id] = 'viewed';
}
}