互联网科技

给网站添加数据统计(wordpress实战)

2019-07-25  本文已影响1人  PM回忆录

0.功能设计

获取访客的IP(后期可用来获取地理位置)

获取访客的地理位置(通过IP获取)

获取访客的访问次数

获取访客的访问时间

获取访客访问的网页

获取访客访问的网页的标题

1.设计数据库表

使用phpMyadmin或其他mysql工具来进行表的创建和设计:

表名:my_count

字段:

id(int 10,主键,自增),

ip(varchar 20用来存储访客的IP地址),

country(varchar 20用来存储访客的国籍),

region(varchar 20用来存储访客的省份),

adress(varchar 20用来存储访客的所在城市),

time(int 10用来存储访客的访问次数),

date(datetime 6用来存储访客的访问时间),

url(varchar 30用来存储访客访问的网页),

page_url(varchar 100用来存储访客访问的网页的标题)

2.编写php文件

在/网站目录/wp-content/themes/主题名 下创建PHP文件visitorstatistics.php:

//连接数据库

$servername = "localhost";

$username = "root";

$passwd = "root";

$dbname = "wordpress";

$conn=mysqli_connect($servername,$username,$passwd,$dbname);

//获取IP地址

$ip=$_SERVER["REMOTE_ADDR"];

//获取地址位置。此段代码主要使用淘宝的接口来通过ip获取地理位置,接口反应比较慢,因此准备后期单独使用脚本来刷数据库的数据。

//    $url='http://ip.taobao.com/service/getIpInfo.php?ip='.$ip;

//    $result = file_get_contents($url);

//    $result = json_decode($result,true);

//    if($result['code']!==0 || !is_array($result['data'])) return false;

//    $res1 = $result['data'];

//    $adress1 = $res1['city'];

//    iconv('gbk','utf-8',$adress1);

//    $adress2 = $res1['region'];

//    iconv('gbk','utf-8',$adress2);

//    $adress3 = $res1['country'];

//    iconv('gbk','utf-8',$adress3);

//    $country = $adress3;

//    $region = $adress2;

//    $adress = $adress1;

//获取此ip访问次数

$sql="select count(id) from wp_count where ip='$ip'";

$res=mysqli_query($conn,$sql);

if($row=mysqli_fetch_row($res)){

$ipnum=$row['0']+1;

//获取当前网页的地址

$url = $_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"];

//获取当前网页标题(此方法暂不可用,待解决)

//$title = "document.write(document.title);";

//$page_title = var_dump($page_title);

//将本次访客的ip地址添加到数据库中

//$sql="insert into wp_count(ip, date, adress, country, region, time, url) values('$ip',NOW(),N'$adress', N'$country', N'$region', '$ipnum', '$url')";

$sql="insert into wp_count(ip, date, time, url) values('$ip',NOW(), '$ipnum', '$url')";

$res=mysqli_query($conn,$sql);

//获取访问总数

$sql="select count(id) from wp_count";

$res=mysqli_query($conn,$sql);

if($row=mysqli_fetch_row($res)){

$num=$row['0'];

//输出统计结果

echo" 您是第 "."$num"." 位访客".",这是您的第 "."$ipnum"." 次访问,感谢您的支持和关注!";

//关闭mysql连接

mysqli_close();

?>

3.配置php文件

打开footer.php,在结尾插入:

<?php get_template_part('visitorstatistics'); ?>

完了之后点击下方的更新按钮。打开网页,会看到下方出现文字:“您是第xxx 位访客,这是您的第 xxx 次访问,感谢您的支持和关注! ”

4.附录

get_template_part($slug,$name); //用来调用模板

参数:

$slug (必须) 通用的模板名

(字符串)要引入的模板的文件名,不包括后缀名 .php,也就是如果需要引入当前主题根目录的 loop.php 文件 $slug 填写 “loop” 即可。

$name(可选) 指定的模板名

(字符串)要引入的模板的文件的副文件名,如果要引入当前主题根目录的 loop-img.php 文件 $slug 参数填写 “loop”,$name 参数填写 “img”。

http://ip.taobao.com/service/getIpInfo.php?ip=101.132.162.76

淘宝的接口,用来返回ip地址对应的地理信息,返回实例:

{"code":0,"data":{"ip":"101.132.162.76","country":"中国","area":"","region":"上海","city":"上海","county":"XX","isp":"阿里云","country_id":"CN","area_id":"","region_id":"310000","city_id":"310100","county_id":"xx","isp_id":"1000323"}}

原文链接:给网站添加数据统计(wordpress实战)

上一篇 下一篇

猜你喜欢

热点阅读