分享

在PHP中屏蔽页面刷新对计数器的影响

 Alkaid2015 2013-11-02
实例说明
  计数器用来统计一个网站被访问的次数,体现了一个网站受关注的程度。本实例将向大家介绍如何制作计数器,以及如何屏蔽刷新页面对计数器的影响。在本实例中,当用户访问页面时计数器的值会增加一次,但是无论如何刷新页面,计数器的值都不会再次增加,只有重新打开页面才会发生变化。
关键技术
  SESSION变量控制重复计数的原理如下:在当前页面被访问时,初始化一个SESSION变量,判断SESSION变量的值是否为空,如果为空,则将计数器的值增加1,并且将SESSION变量赋值为1.此时,在当前页中SESSION变量的值已经不为空,无论如何刷新,其值都不会改变,计数器的值不会增加。
设计过程
  (1)创建index.php文件,输出网页当前的访问量。首先,初始化一个SESSION变量。然后,判断SESSION变量的值是否为空,如果值为空,则打开指定的文本文件,读取其中存储的数据,并且将文本文件中的数据值增加1,同时将新的数据写入到文本文件中,关闭文件。最后,将SESSION变量赋值为1,其关键代码如下:
  <?php session_start();
  if($_SESSION[temp]==""){      //判断$_SESSION[temp]==""的值是否为空,其中的temp为自定义的变量
  if($fp=fopen("counter.txt","r")==false){
      echo"打开文件失败!";
  }else{
      $counter=fgets($fp,1024);    //读取文件中的数据
      fclose($fp);                 //关闭文本文件
      $counter++;                  //计数器增加1
      $fp=fofpen("counter.txt","w"); //以写的方式打开文本文件
      fputs($fp,$counter);          //将新的统计数据增加1
      fclose($fp);                  //关闭文件
  }
       $_SESSION[temp]=1;     //登陆以后,$_SESSION[temp]的值不为空,给$_SESSION[temp]赋一个值1
  }
  ?>
  (2)在index.php文件中,创建img标签,在src属性中调用gd1.php文件,完成网站访问量的输出。
  (3)创建gd1.php文件,通过文件系统函数读取存储在counter.txt中的网站访问量的数据,并通过GD2函数输出网站访问量的数据。
秘笈心法
  SESSION屏蔽页面刷新对计数器影响的弊端。
  SESSION变量防止重复计数的缺点是只对当前页面有效,当重新打开页面时,计数器的值仍然会增加。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多