PbootCMS二开实现后台统计访问量(一)数据统计
通过php+mysql实现统计网站访问量,IP/系统/浏览器/来源等信息
环境:centos6.9+;mysql5.1;php7.2
- 创建一个存储数据的表
create table pb_tongji( id int not null auto_increment primary key, ip varchar(20) not null, times int default 0, os varchar(20) not null, br varchar(20) not null, url varchar(20) not null, `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间' );
二、创建一个php脚本
"; //echo $_SERVER['REMOTE_ADDR']." "; } else { echo "失败 "; die(mysqli_connect_error()); } //设置数据库编码方式 mysqli_set_charset($conn,"utf8") or die(mysqli_connect_error()); //记录访客的ip地址 $address=$visitor->getIp(); //记录访客的访问页面 $url=$visitor->getFromPage(); //记录访客的操作系统 $os=$visitor->GetOs(); //记录访客的浏览器类型 $br=$visitor->GetBrowser(); //查询当前访客来访的次数的sql语句 $sql="select times,os,br,url from pb_tongji where ip='$address'"; //查询结果存到$result变量 $result=mysqli_query($conn,$sql) or die(mysqli_connect_error()); if(!$row=$result->fetch_row()){ $sql="insert into pb_tongji(ip, times, os, br ,url) values('$address','1','$os','$br','$url')"; }else{ $times=$row['0']+1; $sql="update pb_tongji set times='$times' where ip ='$address'"; } $result=mysqli_query($conn,$sql) or die(mysqli_connect_error()); //获取总的访问IP人数即数据表中所有ip的数量 $sql="select count(ip) from pb_tongji"; $result=mysqli_query($conn,$sql) or die(mysqli_connect_error()); if($row=$result->fetch_row()){ $num=$row[0]; } // echo "访问IP".$address; // echo "访问页面".$url; // echo "访问系统".$os; // echo "访问浏览器".$br; echo "您是第".$num."位访客"; mysqli_close($conn); ?>
三、通过js引入php脚本
<script src="/libs/js/tongji.php"></script>
四:后台完全适配PbootCMS还未完善好,正在努力中。。。
目前已经实现了列表显示访客,以及一键添加IP到拉黑名单中
最终效果