织梦dedeCMS文章防刷新机制的代码_DedeCms教程
教程Tag:暂无Tag,欢迎添加,赚取U币!
织梦dedeCMS文章防刷新机制的代码
最近发现织梦DEDECMS的文章点击计数器有个弊端,就是只要你刷新一下网页就做增加一次,
也就是说只要有一个PV就算是一次点击,有时我们为了精确统计热门文章,则需要防刷新机制,所以自己试着修改下PHP代码,试了下,好像可以。
最近发现织梦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]);
- }
以上内容仅供大家参考学习,希望对你有帮助。
相关DedeCms教程:
- DedeCMS采集教程:过滤替换的技巧
- DedeCMS系统参数设置手册之互动设置 相关案例演示
- 织梦CMS实现软件及分类信息采集的方法
- 如何实现织梦dedecms会员登陆后就不显示广告
- 搜索框里显示字段鼠标点击后就隐藏的方法
- dedecms下广告延时加载显示,大大提高网页访问的速度
- DEDECMS复制文章带本站链接代码实例
- 织梦(dedecms)优化之更改RSS、sitemap路径至根目录
- 织梦DEDECMS5.7相关文章的调用问题
- 织梦删掉会员空间,保留开放会员(禁止注册)的方法
- 织梦dedecms channelartlist下autoindex失效解决办法
- Dedecms 自定义表单提交后自动发送表单数据到指定邮箱的思路