PHP基于cookie与session统计网站访问量并输出显示的方法
作者:乘着风在飞 发布时间:2023-11-15 08:38:52
标签:PHP,cookie,session
本文实例讲述了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程序设计有所帮助。


猜你喜欢
- 1.setting--version control--subversion,按照图中红色字体填入对应信息2.配置中途遇到没找到svn.ex
- 1.MySQL8.0.20下载及解压下载链接https://dev.mysql.com/downloads/mysql/2.新建配置文件my
- 这一次将使用pymysql来进行一次对MySQL的增删改查的全部操作,相当于对前五次的总结:先查阅数据库:现在编写源码进行增删改查操作,源码
- 自从腾讯微博上线以来,基本上就开始用了,一直到现在,作为一个开发人员,也看到了腾讯微博一直在不停的改变,也不知道大家有没有发现,腾讯微博提供
- 全局作用域下this;当在全局作用域中使用 this,它指向全局对象。这里详细介绍下全局对象:全局对象(Global object) 是在进
- 新手在配置pytorch过程中总会或多或少遇到些问题,同时网上关于pytorch的环境配置琳琅满目,不知道应该按照哪个配置,这里笔者记录一下
- 统计十篇新闻TF-IDF统计TF-IDF词频,每篇文章的 top10 的高频词存储为 json 文件TF-IDFTF-IDF(term fr
- 一、问题1.1 鼠标放上去不显示文档的提示鼠标放在随意一个函数上面不显示他的说明了我也不知道是咋了二、解决2.1 首先我只记得有一个侧边栏叫
- 数组我们已经提到过,对象是无序数据的集合,而数组则是有序数据的集合,数组中的数据(元素)通过索引(从0开始)来访问,数组中的数据可以是任何的
- 仿google的asp分页代码index.asp(文件1)<%@LANGUAGE="VBSCRIPT" CODEP
- 1.今天复习一下Vue自定义指令的代码,结果出现一个很无语的结果,先贴代码。2.<div id="example"
- 设想这样一个场景,你要给一个项目开发测试程序,程序开始运行的时候,会创建初始环境,测试完成以后,会清理环境。 这段逻辑本身非常简单
- 1.Django实现WebSocket在线聊天室1.1 安装pip install channels==2.3(saas) F:\Deskt
- 前言在爬虫系列文章 优雅的HTTP库requests 中介绍了 requests 的使用方式,这一次我们用 requests 构建一个知乎
- Python正则表达式中的'r'最近遇到一个非常困惑的地方,那就是在使用Python中的正则表达式的时候,正则表达式前面的&
- 使用Python时,常遇到的一个问题就是Python和库的版本不同。Anaconda的env算是解决这个问题的一个好用的方法。但是,在使用J
- 本文实例为大家分享了vue+elementUI实现动态面包屑的具体代码,供大家参考,具体内容如下引言后台管理系统中,经常会出现需要面包屑的情
- 如下所示:result = os.popen('ps aux') res = result.read()
- javascript中声明函数的方法有两种:函数声明式和函数表达式.区别如下:1).以函数声明的方法定义的函数,函数名是必须的,而函数表达式
- USE master; Go EXEC sp_attach_db @dbname = N'数据库名', @filename1