DeDecms文章点击计数器防刷新机制

发布时间:2024-05-08 点击:116
dedecms文章点击计数器的算法,一直困扰着各位站长。系统默认的算法是只要用户访问文章页面刷新一次,系统就会自动算上一个点击。当我们需要精准的统计好热门的文章时候,就无法精确的统计。遇到这类问题的时候站长会采用第三方的统计工具部署在php空间中,本节小编将分享一下用默认的统计机制,只是更换了一种算法来实现。
1、首先是点击进入到我们的控制面板,然后找到文件管理选项,如图所示:
2、点击进入之后找到我们站点的根目录,如图所示:
3、进入到这个目录之后找到我们的程序的路径: plus/count.php,点击编辑,如图所示:
将源文件内的代码全部替换成下列代码:
<?
$__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=newdedesql(false);
$dsql->executenonequery("updatedede_archivessetclick=click 1whereid='$aid'");
if(!empty($mid)){
$dsql->executenonequery("updatedede_membersetpageshow=pageshow 1whereid='$mid'");
}
if(!empty($view)){
$row=$dsql->getone("selectclickfromdede_archiveswhereid='$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]);
}
//总结:由于代码比较长,用户在更换的时候最好备份好原文件,以上代码已经过测试。

国内域名价格国内域名价格相对平稳
域名怎样注册 注册域名要多少钱
企业邮箱有手机版本的吗-企业邮局
3怎样申请域名,注册域名需要多少费用?
云服务器服务器2核4g价格
这些站内的主观原因或导致网站降权
.com域名查询是怎样的 .com域名的好处是什么
网站友情链接对提升权重有多重要