最近发现织梦DEDECMS的文章点击计数器有个弊端,就是只要你刷新一下网页就做增加一次,也就是说只要有一个PV就算是一次点击,有时我们为了精确统计热门文章,则需要防刷新机制,所以自己试着修改下PHP代码,试了下,好像可以。
将plus/count.php 改为下面代码就OK了.
<?
$__ONLYDB = true;
require_once(dirname(__FILE__)."/../include/config_base.php");
session_start(); //新加入
if(empty($aid)) $aid="0";
$aid = ereg_replace("[^0-9]","",$aid);
if(empty($mid)) $mid="0";
$mid = ereg_replace("[^0-9]","",$mid);
if (!isset($_SESSION['c_time'.$aid])) // 如果第一次访问,设定时间戳,并允许增加
{
$_SESSION['c_time'.$aid] = time();
$dsql = new DedeSql(false);
$dsql->ExecuteNoneQuery("Update dede_archives set click=click+1 where ID='$aid'");
if(!empty($mid)){
$dsql->ExecuteNoneQuery("Update dede_member set pageshow=pageshow+1 where ID='$mid'");
}
if(!empty($view)){
$row = $dsql->GetOne("Select click From dede_archives where ID='$aid'");
echo "document.write('".$row[0]."');/r/n";
}
$dsql->Close();
exit();
}
elseif (time() - $_SESSION['ctime'.$aid] < 3600) // 如果在一小时内刷新页面,则不增加。按此可以设置永远不增加
{
exit();
} else { // 如果超过一小时,则重新计时,并允许增加
$allow_insert = true;
unset($_SESSION['ctime'.$aid]);
}
欢迎使用微视媒-源码测试 经验教程 小程序源码 设计资源, 该资源来自用户分享,如果损害了你的权利,请提交站内信由技术处理。
1:此资源为内部分享交流,仅供学习参考借鉴使用,请勿用于其他用途。请以学习技术参考理念为目的使用该资源,如果想商用,请自行联系版权方获取授权后使用。任何未获取授权的商业使用与本站无关,请自行承担相应责任。
2:本站所有资源仅供技术人员研究学习使用,本站不存储任何资源文件!
3:本站信息若非特殊注明均为会员搜集发布,本站不对资源提供任何技术支持,请自行研究学习。
4:本站客服仅对站点使用提供咨询解答,不涉及任何资源内容信息。
5:本站不销售任何资源,我们仅提供技术交流分享服务。
6:如果此资源信息对你的权益造成困扰,请提交站内信由技术处理,我们会及时处理相关信息并且通知相关会员。