实例说明
计数器用来统计一个网站被访问的次数,体现了一个网站受关注的程度。本实例将向大家介绍如何制作计数器,以及如何屏蔽刷新页面对计数器的影响。在本实例中,当用户访问页面时计数器的值会增加一次,但是无论如何刷新页面,计数器的值都不会再次增加,只有重新打开页面才会发生变化。
关键技术
SESSION变量控制重复计数的原理如下:在当前页面被访问时,初始化一个SESSION变量,判断SESSION变量的值是否为空,如果为空,则将计数器的值增加1,并且将SESSION变量赋值为1.此时,在当前页中SESSION变量的值已经不为空,无论如何刷新,其值都不会改变,计数器的值不会增加。
设计过程
(1)创建index.php文件,输出网页当前的访问量。首先,初始化一个SESSION变量。然后,判断SESSION变量的值是否为空,如果值为空,则打开指定的文本文件,读取其中存储的数据,并且将文本文件中的数据值增加1,同时将新的数据写入到文本文件中,关闭文件。最后,将SESSION变量赋值为1,其关键代码如下:
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变量防止重复计数的缺点是只对当前页面有效,当重新打开页面时,计数器的值仍然会增加。