PHP基于cookie与session统计网站访问量并输出显示的方法


Posted in PHP onJanuary 15, 2016

本文实例讲述了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 相关文章推荐
PHP调用三种数据库的方法(3)
Oct 09 PHP
PHP新手上路(十一)
Oct 09 PHP
PHP 编程安全性小结
Jan 08 PHP
《PHP编程最快明白》第三讲:php数组
Nov 01 PHP
php 转换字符串编码 iconv与mb_convert_encoding的区别说明
Nov 10 PHP
用php来改写404错误页让你的页面更友好
Jan 24 PHP
eAccelerator的安装与使用详解
Jun 13 PHP
zend framework重定向方法小结
May 28 PHP
PHP实现随机生成水印图片功能
Mar 22 PHP
Mac系统下安装PHP Xdebug
Mar 30 PHP
浅谈PHP各环境下的伪静态配置
Mar 13 PHP
PHP面向对象程序设计中的self、static、parent关键字用法分析
Aug 14 PHP
php实现的操作excel类详解
Jan 15 #PHP
php实现的xml操作类
Jan 15 #PHP
PHP基于单例模式实现的数据库操作基类
Jan 15 #PHP
Linux安装配置php环境的方法
Jan 14 #PHP
PHP实现QQ登录实例代码
Jan 14 #PHP
PHP实现图片不变型裁剪及图片按比例裁剪的方法
Jan 14 #PHP
详解HTTP Cookie状态管理机制
Jan 14 #PHP
You might like
NOD32 v2.70.32 简体中文封装版 提供下载了
2007/02/27 PHP
深入理解php的MySQL连接类
2013/06/07 PHP
php获取开始与结束日期之间所有日期的方法
2016/11/29 PHP
jQuery 定时局部刷新(setInterval)
2010/11/19 Javascript
JS 实现获取打开一个界面中输入的值
2013/03/19 Javascript
javascript操作excel生成报表示例
2014/05/08 Javascript
jQuery对象和DOM对象之间相互转换的方法介绍
2015/02/28 Javascript
jQuery带进度条全屏图片轮播特效代码分享
2020/06/28 Javascript
js父页面中使用子页面的方法
2016/01/09 Javascript
js实现三级联动效果(简单易懂)
2017/03/27 Javascript
bootstrap的常用组件和栅格式布局详解
2017/05/02 Javascript
node.js中EJS 模板快速入门教程
2017/05/08 Javascript
JavaScript实现时间表动态效果
2017/07/15 Javascript
Node.js调用fs.renameSync报错(Error: EXDEV, cross-device link not permitted)
2017/12/27 Javascript
vue弹窗消息组件的使用方法
2020/09/24 Javascript
JavaScript设计模式之职责链模式应用示例
2018/08/07 Javascript
微信小程序自定义音乐进度条的实例代码
2018/08/28 Javascript
JS选取DOM元素常见操作方法实例分析
2018/12/10 Javascript
微信小程序扫描二维码获取信息实例详解
2019/05/07 Javascript
js获取本日、本周、本月的时间代码
2020/02/01 Javascript
vue根据条件不同显示不同按钮的操作
2020/08/04 Javascript
对于Python装饰器使用的一些建议
2015/06/03 Python
Python实现Sqlite将字段当做索引进行查询的方法
2016/07/21 Python
python查询mysql,返回json的实例
2018/03/26 Python
[原创]Python入门教程1. 基本运算【四则运算、变量、math模块等】
2018/10/28 Python
pyenv与virtualenv安装实现python多版本多项目管理
2019/08/17 Python
对python中assert、isinstance的用法详解
2019/11/27 Python
解决keras加入lambda层时shape的问题
2020/06/11 Python
Pandas之缺失数据的实现
2021/01/06 Python
我的珠宝盒:Ma boîte à bijoux
2019/08/27 全球购物
计算s=f(f(-1.4))的值
2014/05/06 面试题
Python面试题集
2012/03/08 面试题
如何现实servlet的单线程模式
2014/08/05 面试题
毕业生精彩的自我评价分享
2013/10/06 职场文书
抽奖活动主持词
2014/03/31 职场文书
抗洪救灾先进集体事迹材料
2014/05/26 职场文书