织梦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]); }
(资源库 www.zyku.net)
您可能感兴趣的文章
- 10-13密码重设工具(UTF-8/GBK) For DedeCMS
- 11-21帝国CMS系统标签大全
- 11-21PHP中输出5行5列星号的方法
- 11-28测试PHP连接MYSQL成功与否的代码
- 12-25Windows Server 2008 R2常规安全设置
- 01-23apache在本地支持多个站点的配置方法
- 01-23MySql数据库表类型MYISAM与InnoDB的区
- 02-26帝国cms封面网页模板调用栏目别名
- 02-28如何在Linux VPS和云主机增加swap虚拟
- 02-28阿里云Linux服务器iptables防火墙规则
- 02-28DedeCms 5.7更换为fck编辑器并修改为
- 04-16帝国CMS调用会员头像没有头像时显示默
- 07-08帝国CMS7.0支持多MYSQL服务器读写分离
- 07-10发布一个帝国cms无缝隙滚动图片标签
- 07-10帝国cms后台忘记了安全提问及密码该如
- 07-15帝国仿站教程发布于10秒前 1周前 1个
- 07-15帝国cms前台会员投稿之后转到该信息页
- 07-15帝国模板列表页和内容页的伪静态规则
- 07-15帝国栏目列表设置会员查看权限
- 07-15打通多个帝国CMS系统的会员整合与同步
阅读排行
猜你喜欢
- 09-26帝国cms怎样修改列表分页函数
- 11-21mysql修改character_set_server为utf-
- 11-21PHP中实现水仙花的方法
- 11-22Windows服务器系统下开启GD库的方法
- 12-26如何修改MYSQL默认用户名ROOT
- 02-23Nginx开启Gzip压缩大幅提高页面加载速
- 03-17Zend studio 修改字体、字体大小和颜
- 03-27php判断两个浮点数是否相等的方法
- 03-27PHP 判断变量的类型总结
- 04-16PHP保留两位小数的几种方法