php+mysql实现统计网站访问量(一)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/c332030/article/details/88984597

环境:centos6.9;mysql5.1;php7.2

1.创建一个存储数据的表

create table wp_jc_count(
    id int not null auto_increment primary key,
    ip varchar(20) not null,
    times int default 0
    );

2.创建一个php脚本

<?php
class visitorInfo
{
    //获取访客ip
    public function getIp()
    {
        $ip=false;
        if(!empty($_SERVER["HTTP_CLIENT_IP"])){
            $ip = $_SERVER["HTTP_CLIENT_IP"];
        }
        if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
            $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
            if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }
            for ($i = 0; $i < count($ips); $i++) {
                if (!eregi ("^(10│172.16│192.168).", $ips[$i])) {
                    $ip = $ips[$i];
                    break;
                }
            }
        }
        return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
    }
        //获取网站来源
    public function getFromPage(){
        return $_SERVER['HTTP_REFERER'];
    }
}
    $visitor =new visitorInfo();
    //连接数据库
    $conn=mysqli_connect("localhost","user_naem","password","db_name");
    if($conn){
        //echo "成功"."<br>";
        //echo $_SERVER['REMOTE_ADDR']."<br>";
    }else{
        echo "失败\n";
        die(mysqli_connect_error());
    }
    //设置数据库编码方式
    mysqli_set_charset($conn,"utf8") or die(mysqli_connect_error());
    //记录访客的ip地址
    $address=$visitor->getIp();
    //查询当前访客来访的次数的sql语句
    $sql="select times from wp_jc_count where ip='$address'";
    //查询结果存到$result变量
    $result=mysqli_query($conn,$sql) or die(mysqli_connect_error());
    if(!$row=$result->fetch_row()){
       $sql="insert into wp_jc_count(ip, times) values('$address','1')";
    }else{
        $times=$row['0']+1;
        $sql="update wp_jc_count set times='$times' where ip ='$address'";
    }
    $result=mysqli_query($conn,$sql) or die(mysqli_connect_error());
    //获取总的访问人数即数据表中所有ip的数量
    $sql="select count(ip) from wp_jc_count";
    $result=mysqli_query($conn,$sql) or die(mysqli_connect_error());
    if($row=$result->fetch_row()){
        $num=$row[0];
    }
    echo "您是第".$num."位访客";
    mysqli_close($conn);
?>

3.将上述代码贴到footer.php中要输出信息的位置即可

当前功能较少,后续会增加一些功能;


参考资料:https://www.cnblogs.com/jianqingwang/p/7017495.html
参考资料:https://www.jianshu.com/p/343ed80b4dca
参考资料:(https://blog.csdn.net/ld0807/article/details/54178652](https://blog.csdn.net/ld0807/article/details/54178652)

转载请注明:大魔王ISDevil's Blog » php+mysql实现统计网站访问量(一)

喜欢 (1)

猜你喜欢

转载自blog.csdn.net/c332030/article/details/88984597