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

softyun3年前cms教程38


织梦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教程: phpcms V9 默认模板文件目录结构

上一篇《phpcms V9 常用文件目录结构》主要介绍了系统文件目录,这篇文章则详细的介绍一下系统自带默认模板的文件目录结构。主题模板位于“..\phpcms\templates\”文件夹内。而css...

修改织梦dedecms的Artlist标签去掉table

本文介绍了在织梦dedecms中修改Artlist标签,以去掉table的方法,有需要的朋友参考下。希望可以帮助到你 使用织梦dedecms建站修改模板时,多会遇到织梦自动生成 table,tr,td...

织梦dede:php标签中调用其他普通标签和页面相关变量及全局配置的变量

分享织梦dede:php标签中调用其他普通标签和页面相关变量及全局配置的变量,希望对你有所帮助经过测试貌似织梦dedecms{dede:php}标签中不能直接使用其他普通标签例如:{dede:fiel...

dede网站内容页如何调取栏目页标题和seo标题

dede网站内容页如何调取栏目页标题和seo标题 内容页调用SEO标题:在之间加入以下代码: {dede:field name='typeid' runphp='yes'}  $id=@me;  gl...

织梦dedecms首页调用缩略图为背景

 想把DedeCMS织梦模板首页调用缩略图为背景。这个需要配合{dede:arclist}{/dede:arclist}织梦dedecms标签使用,既可以实现把缩略图作为背景,另外还需要用到backg...

为DEDECMS增加父栏目调用!

因为本人需要,自己就动手修改了其中代码,拿来分享,能用到的朋友可以借鉴一下!\include\inc_typelink.php1、在这段代码后 大概263行if($reID==0 &&...