• wordpress CMS主题:ssmay主题wordpress CMS主题:ssmay主题
  • 首页 > PHP开发 > 前台HTML静态页面,可通过Ajax更新并显示用户浏览量

    前台HTML静态页面,可通过Ajax更新并显示用户浏览量

    作者: 分类:PHP开发 点击: 2,938 次
    wordpress CMS主题:ssmay主题

      为了直观地了解每一篇文章的用户浏览情况,一般情况下,开发者都会在每一篇文章的页面添加用户浏览统计——即点击量。如果是php动态页面,如wordpress程序,前面页面也是动态代码,统计就比较简单,直接用php代码统计即可。而如果前台页面是纯静态代码,如织梦,它们的前台网站页面是后台点击生成后的纯静态的,所以再用php代码就不好使用。那想要统计,怎么办呢?

      纯静态页面,可以通过 JS + Ajax + php + JSON 来实现。示例如下:

      第一步:前台页面HTML。代码如下:

      <div class="click">点击:<span></span></div>

      点击量放在<span></span>标签中,默认是空。只有有用户浏览过后,才显示。

      第二步:前台页面JS代码。

      $(function(){
      var url = window.location.href;
      var p_id = url.substring(url.lastIndexOf("/")+1,url.lastIndexOf(".html")); //获取文章ID
      //统计点击
      $.ajax({
      url:"count.php",
      type:"post",
      data:{"p_id":p_id},
      success:function(rel){
      $(".click span").text(rel)
      }
      });
      });

      上面代码中获取文章ID,是通过URL获取,这个根据实际情况而定,主要是获取 .html前和最后一个 / 之间的字符串。当然,不同的网站,情况不同。获取ID后,就通过Ajax将这个ID号传递给 count.php这个php文件.

      第三步:后台php处理文件——count.php 。代码如下:

      $p_id = !empty($_POST["p_id"]) ? $_POST["p_id"] : ""; //文章ID
      if(!isset($_COOKIE["admin_".$p_id])){//如果不存在当前文章的cookie,就生成
      setcookie("admin_".$p_id,"admin_".$p_id,time()+3600);
      }
      //读取 JSON
      if(file_exists("count.json")){//如果文件存在
      $json = file_get_contents("count.json");
      $arr = json_decode($json,true);
      if(isset($arr[$p_id])){ //如果数组中存在,就直接修改
      //if(!isset($_COOKIE["admin_".$p_id])){ //如果该文章 cookie 不存在 ,文章点击量就+1
      $click = $arr[$p_id];
      $arr[$p_id] = $click+1; //文章点击量+1
      //}
      }else{//不存在 ,就添加
      $arr[$p_id]=1;
      }
      file_put_contents("count.json",json_encode($arr));//写入
      }else{ //如果文件不存在
      $arr[$p_id]=1;
      file_put_contents("count.json",json_encode($arr));
      }
      echo $arr[$p_id];

      上面代码中,先是获到ajax传递过来的文章ID,然后以文章ID为下标的形式将点击量赋值给数 $arr ,再将这个数组以 json 的形式写入到 count.json 文件中。

      第四步:通过Ajax返回点击量

      代码就不重写了,在第二步已写好。ajax返回文章点击量后,添加到HTML代码中<span></span>中。

      通过这4步,我们就简单地实现了静态页面也能随时获取更新点击量。这个方法的好处是,不需要把点击量计入mysql数据库,而是直接计入json文件中,这样就节省了服务器资源,网页速度上相对来说就会快一些。

    文章作者:高时银博客
    本文地址:http://wanlimm.com/77201609275164.html
    本文时间:2016-09-27 14:18:51
    版权所有 © 转载时必须以链接形式注明作者和原始出处!

    上一篇:
    下一篇:
    wordpress CMS主题:ssmay主题

    或许你会感兴趣的文章:

    发表评论

    电子邮件地址不会被公开。 必填项已用*标注

    This site uses Akismet to reduce spam. Learn how your comment data is processed.