PHP基于cookie与session统计网站访问量并输出显示的方法
作者:乘着风在飞 时间:2023-11-15 08:38:52
本文实例讲述了PHP基于cookie与session统计网站访问量并输出显示的方法。分享给大家供大家参考,具体如下:
<?php
$f_open = fopen("count.txt","r+"); //打开指定的文件
$count = fgets($f_open); //读取文件中的数据
if(empty($_COOKIE['cookie_name'])){ //判断COOKIE的是否存在
setcookie("cookie_name",value,time()+1800); //如果不存在,则创建COOKIE
$count = $count + 1; //将变量$count的值加1
rewind($f_open); //打开指定的文件
fwrite($f_open,$count); //向文件中写入新的数据
fclose($f_open); //关闭文件
}
?>
<?php session_start(); include("conn/conn.php");
$data1=date("Y-m-d"); //获取当前访问时间
$data2=substr(date("Y-m-d"),0,7);
$ip=getenv('REMOTE_ADDR');
if($_SESSION[temp]=="" || $_SESSION[temp]==NULL){ //判断$_SESSION[temp]==""的值是否为空,其中的temp为自定义的变量
//使用数据库存储数据
$select=mysql_query("select * from tb_count10 where data1='$data1' and ip='$ip'");
if(mysql_num_rows($select)>0){
$query1="update tb_count10 set counts=counts+1 where data1='$data1' and ip='$ip'";
$result1=mysql_query($query1);
}else{
$query="insert into tb_count10(counts,data1,data2,ip)values('1','$data1','$data2','$ip')";
$result=mysql_query($query);
}
$_SESSION[temp]=1; //登录以后,$_SESSION[temp]的值不为空,给$_SESSION[temp]赋一个值1
}
?>
<?php
//以图形的形式输出数据库中的记录数
$query="select sum(counts) as counts from tb_count04 ";//查询数据库中总的访问量
$result=mysql_query($query);
$visitor=mysql_result($result,0,'counts');
echo "----------";
echo "<strong>网站的访问量: </strong>"; //以图形的方式显示访问次数
//对补位数字0的处理
$len=strlen($visitor); //获取字符串的长度
$str=str_repeat("0",6-$len); //获取6-$len个数字0
for($i=0;$i<strlen($str);$i++){ //获取变量$str的字符串长度
$result=$str[$i];
$result='<img src=images/0.gif>';
echo $result; //循环输出$result的结果
}
//对数据库中数据的处理
for($i=0;$i<strlen($visitor);$i++){ //获取字符串的长度
$result=$visitor[$i];
switch($result){
//如果值为"0",则输出0.gif图片
case "0"; $ret[$i]="0.gif";break;
case "1"; $ret[$i]="1.gif";break;
case "2"; $ret[$i]="2.gif";break;
case "3"; $ret[$i]="3.gif";break;
case "4"; $ret[$i]="4.gif";break;
case "5"; $ret[$i]="5.gif";break;
case "6"; $ret[$i]="6.gif";break;
case "7"; $ret[$i]="7.gif";break;
case "8"; $ret[$i]="8.gif";break;
case "9"; $ret[$i]="9.gif";break;
}
echo "<img src=images/".$ret[$i].".>"; //输出访问次数
}
?>
希望本文所述对大家PHP程序设计有所帮助。
标签:PHP,cookie,session
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Python 列表的基本操作介绍
2021-09-09 08:13:34
Python爬虫破解登陆哔哩哔哩的方法
2021-03-28 14:17:40
Python 用turtle实现用正方形画圆的例子
2022-08-05 13:56:33
![](https://img.aspxhome.com/file/2023/7/127857_0s.jpg)
antd table按表格里的日期去排序操作
2024-04-28 10:55:56
![](https://img.aspxhome.com/file/2023/3/133063_0s.jpg)
Python内建类型str源码学习
2021-12-24 22:24:33
![](https://img.aspxhome.com/file/2023/3/90643_0s.png)
由Python运算π的值深入Python中科学计算的实现
2021-10-21 03:48:06
![](https://img.aspxhome.com/file/2023/0/78530_0s.png)
用户体验的时间尺度[译]
2009-10-30 18:25:00
![](https://img.aspxhome.com/file/UploadPic/200910/30/20091030182732207s.jpg)
Python实现PS滤镜特效之扇形变换效果示例
2021-05-08 17:58:03
![](https://img.aspxhome.com/file/2023/4/128504_0s.jpg)
Python中的__new__与__init__魔术方法理解笔记
2021-12-18 14:29:26
Python通过requests模块实现抓取王者荣耀全套皮肤
2022-04-06 05:47:12
![](https://img.aspxhome.com/file/2023/7/131167_0s.png)
OpenCV4.1.0+VS2017环境配置的方法步骤
2022-11-21 18:22:38
![](https://img.aspxhome.com/file/2023/4/110404_0s.jpg)
MySQL中Order By多字段排序规则代码示例
2024-01-22 01:10:35
javascript中的后退和刷新实现方法
2023-08-23 09:36:45
Vue动态路由缓存不相互影响的解决办法
2024-05-13 09:44:16
spring学习JdbcTemplate数据库事务管理
2024-01-28 10:46:13
![](https://img.aspxhome.com/file/2023/7/128827_0s.png)
Python并发之多进程的方法实例代码
2022-04-13 12:43:54
Python中如何获取类属性的列表
2023-02-10 21:57:41
python 虚拟环境的创建与使用方法
2022-11-09 18:21:50
![](https://img.aspxhome.com/file/2023/4/121054_0s.png)
css清除浮动的最优方法
2008-04-25 22:33:00
python服务器与android客户端socket通信实例
2022-04-28 02:30:31