DeDecms文章点击计数器防刷新机制
DeDecms文章点击计数器的算法,一直困扰着各位站长。系统默认的算法是只要用户访问文章页面刷新一次,系统就会自动算上一个点击。当我们需要精准的统计好热门的文章时候,就无法精确的统计。遇到这类问题的时候站长会采用第三方的统计工具部署在PHP空间中,本节小编将分享一下用默认的统计机制,只是更换了一种算法来实现。
隆林网站制作公司哪家好,找创新互联公司!从网页设计、网站建设、微信开发、APP开发、响应式网站开发等网站项目制作,到程序开发,运营维护。创新互联公司2013年至今到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联公司。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]); }//总结:由于代码比较长,用户在更换的时候最好备份好原文件,以上代码已经过测试。
网页标题:DeDecms文章点击计数器防刷新机制
URL链接:http://myzitong.com/article/chddgh.html