欢迎来到入门教程网!

dedecms

当前位置:主页 > CMS教程 > dedecms >

织梦dedeCMS文章防刷新机制的代码

来源:本站原创|时间:2020-05-31|栏目:dedecms|点击:

最近发现织梦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]);

}

上一篇:织梦CMS实现软件及分类信息采集的方法

栏    目:dedecms

下一篇:织梦dede5.7以上及以下版本添加新变量Request var not allow!

本文标题:织梦dedeCMS文章防刷新机制的代码

本文地址:https://www.xiuzhanwang.com/a1/dedecms/13212.html

网页制作CMS教程网络编程软件编程脚本语言数据库服务器

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:835971066 | 邮箱:835971066#qq.com(#换成@)

Copyright © 2002-2020 脚本教程网 版权所有