美文网首页互联网科技
给网站添加数据统计(wordpress实战)

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

作者: PM回忆录 | 来源:发表于2019-07-25 02:10 被阅读1次

    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实战)

    相关文章

      网友评论

        本文标题:给网站添加数据统计(wordpress实战)

        本文链接:https://www.haomeiwen.com/subject/mtnqrctx.html