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

softyun3年前cms教程186


织梦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 clickclick=click+1 where ID='$aid'"); 
    if(!empty($mid)){ 
    $dsql->ExecuteNoneQuery("Update dede_member set pageshowpageshow=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]); 

 以上内容仅供大家参考学习,希望对你有帮助。
 

免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

PhpCms系统设置:关联链接管理

一、添加来源 位置:系统设置----相关设置----关联链接管理----添加关联链接关联链接是指在文章内容中找到“关联链接名称”加上“关联链接网址”,如,我们添加一个“百度”关联到“http:baid...

PhpCms入门指引:伪静态设置

一、Apache 下伪静态设置 请首先咨询您的空间服务商,空间是否支持 Rewrite 以及是否支持对站点目录中 .htaccess 的文件解析,否则即便按照下面的方法设置好了,也无法使用。 需要服务...

把DEDE,RSS的描述改成全文内容输出

修改方法如下:1.找rss的模板 templets/plus/rss.htm把<description>[field:description/]</description>改成...

织梦dedecms图片按月存放怎么实现?代码分享

织梦dedecms图片按月存放怎么实现代码分享 。打开目录include中dedecollection.class.php文件。代码: 代码示例://获得下载媒体的随机名称  function Get...

单网页管理

一、单网页添加系统设置--扩展工具--单网页治理保存后,生成下面的数据。更新首页,在页底产生如下效果。使用默认页脚模板会自动的出现在网页最下面。生成静态的页面都需要更新下html。这样即可显示。二、单...

织梦让arclist标签支持副栏目调用

使用织梦cms开发网站,需要一篇文章被多个栏目调用,织梦后台有副栏目这个功能,可是在用arclist调用的时候,副栏目却调用不出这篇文章,所以简单修改了下/include/tag/arclist.li...