thinkphp实现统计页面浏览量

【前言】

   本文介绍下thinkphp统计浏览量,这里采取的简单做法,未对ip做筛选

   当然,部分网站为了防止恶意刷新页面限制IP,一个IP一天只能刷新一次。php防止恶意刷新页面的方法可以参考https://blog.csdn.net/u011252402/article/details/47415101

【主体】

一、首先要在数据表blog_article里插入浏览量字段shownum

alter table blog_article add column shownum varchar(40) default 0;

二、接下来一共两步

(1)将下面代码放在要统计的html页面中,测试时把地址换成自己的。

<script>
    var ajax;
    if(window.XMLHttpRequest){ 
        ajax = new XMLHttpRequest();
    }else{ 
        ajax = new ActiveXObject('Microsoft.XMLHTTP');
    }
    ajax.open('GET','__MODULE__/Article/index/id/{$_GET['id']}',true);
    ajax.send();
</script>

(2)下面的代码放在对应的控制器,M('表名称') setInc('字段')都换成自己的,也就是上面代码请求的方法

public function index(){
    	$article = D('article')
                   ->field('t1.*,t2.catename as catename')
    		   ->alias('t1')
    	           ->join('left join blog_cate as t2 on t1.cateid=t2.id')
    	           ->where('t1.id = '.I('id'))
    	           ->find();
        //浏览次数
        if(!$_GET['id']){return;}
        $shownum = M('article')->where("id = '{$_GET['id']}'")->setInc('shownum',1);
    	$this->assign('article',$article);
        $this->display();
    }

   在php代码里面加入统计代码时,如果静态页面缓存php代码就会不执行,用ajax就完全可以解决这个问题。

【总结】

  以上便可以在列表页点击相应文章或新闻时,实现浏览量的简单叠加。

.

猜你喜欢

转载自570109268.iteye.com/blog/2419689