Maison > développement back-end > Problème PHP > Comment atteindre le nombre de visiteurs en php

Comment atteindre le nombre de visiteurs en php

藏色散人
Libérer: 2023-03-14 12:26:02
original
2637 Les gens l'ont consulté

Comment réaliser le nombre de visiteurs en PHP : 1. Créez deux tables de base de données ; 2. Ajoutez le code "$realip=getip();modifyipcount($realip);" visiteurs.

Comment atteindre le nombre de visiteurs en php

L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.4, ordinateur Dell G3.

Comment atteindre le nombre de visiteurs en php ?

PHP implémente avec précision les statistiques de visite de page

1. Deux tables de base de données sont requises

①, la table d'enregistrement IP

create table ip (ipid int(11) NOT NULL default '',ipdata varchar(16) NOT NULL default '',iptime varchar(30) NOT NULL default '', primary key(ipid));
Copier après la connexion

Remarque : ipdata est l'adresse IP du visiteur enregistré, iptime est la visite IP enregistrée

②.

create table count (todayipcount int(11) NOT NULL default '',allipcount int(11) NOT NULL default '',day varchar(2) NOT NULL  default '');
insert into count (todayipcount,allipcount,day) values ('0','0','0');
Copier après la connexion

2. Méthode d'implémentation

Mettez le code suivant sur la page où vous souhaitez compter le nombre de fois :

$realip=getip();
modifyipcount($realip);
Copier après la connexion

Le code de la fonction getip() est :

function getip()
{
        if (isset($_SERVER)) 
        {
                if (isset($_SERVER[HTTP_X_FORWARDED_FOR]) && strcasecmp($_SERVER[HTTP_X_FORWARDED_FOR], "unknown"))//代理
                {
                        $realip = $_SERVER[HTTP_X_FORWARDED_FOR];
                } 
                elseif(isset($_SERVER[HTTP_CLIENT_IP]) && strcasecmp($_SERVER[HTTP_CLIENT_IP], "unknown"))
                {
                        $realip = $_SERVER[HTTP_CLIENT_IP];
                } 
                elseif(isset($_SERVER[REMOTE_ADDR]) && strcasecmp($_SERVER[REMOTE_ADDR], "unknown"))
                {
                        $realip = $_SERVER[REMOTE_ADDR];
                } 
                else
                {
                        $realip = 'unknown';
                }
        } 
        else
        {
                if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown"))
                {
                        $realip = getenv("HTTP_X_FORWARDED_FOR");
                }
                elseif(getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown"))
                {
                        $realip = getenv("HTTP_CLIENT_IP");
                } 
                elseif(getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown"))
                {
                        $realip = getenv("REMOTE_ADDR");
                } 
                else
                {
                        $realip = 'unknown';
                }
        } 
        return $realip;
}
Copier après la connexion

Remarque : ce code de fonction Le code de la fonction

modifyipcount() est partout sur Internet :

function modifyipcount($ip)
{
        <-----------------------数据库的连接省略------------------------->
        $query="SELECT * FROM ip where ipdata=&#39;".$ip."&#39;";
        $result=mysql_query($query);
        $row=mysql_fetch_array($result);
        $iptime=time();
        $day=date(&#39;j&#39;);
        if(!$row)
        {
                $query="INSERT INTO ip (ipdata,iptime) VALUES (&#39;".$ip."&#39;,&#39;".$iptime."&#39;)";
                mysql_query($query);
                $query="SELECT day,todayipcount,allipcount FROM count";
                $result=mysql_query($query);
                $row=mysql_fetch_array($result);
                $allipcount=$row[&#39;allipcount&#39;]+1;
                $todayipcount=$row[&#39;todayipcount&#39;]+1;
                if($day==$row[&#39;day&#39;])
                {
                        $query="UPDATE count SET allipcount=&#39;".$allipcount."&#39;,todayipcount=&#39;".$todayipcount."&#39;";
                }
                else
                {
                        $query="UPDATE count SET allipcount=&#39;".$allipcount."&#39;,day=&#39;".$day."&#39;,todayipcount=&#39;1&#39;";
                }
                 mysql_query($query);
        }
        else
        {
                $query="SELECT iptime FROM ip WHERE ipdata=&#39;".$ip."&#39;";
                $result=mysql_query($query);
                $row=mysql_fetch_array($result);
                $query="SELECT day,todayipcount,allipcount FROM count";
                $result=mysql_query($query);
                $row1=mysql_fetch_array($result);
                if($iptime-$row[&#39;iptime&#39;]>86400)
                {
                                                $query="UPDATE ip SET iptime=&#39;".$iptime."&#39; WHERE ipdata=&#39;".$ip."&#39;";
                 mysql_query($query);
                        $allipcount=$row1[&#39;allipcount&#39;]+1;
                        if($day==$row1[&#39;day&#39;])
                        {
                                $query="UPDATE count SET allipcount=&#39;".$allipcount."&#39;";
                        }
                        else
                        {
                                $query="UPDATE count SET allipcount=&#39;".$allipcount."&#39;,day=&#39;".$day."&#39;,todayipcount=&#39;1&#39;";
                        }
                         mysql_query($query);
                }
                if($day!=$row1[&#39;day&#39;])
                {
                        $query="UPDATE count SET day=&#39;".$day."&#39;,todayipcount=&#39;1&#39;";
                         mysql_query($query);
                }        
        }
}
Copier après la connexion
Remarque : Ici, j'ai défini le nombre de statistiques d'accès dans les 24 heures pour n'ajouter que 1

afin que nous puissions obtenir l'adresse IP d'accès d'aujourd'hui en appelant aujourd'huiipcount et allipcount dans le nombre de tables de base de données Personnellement, je pense que l'adresse IP d'accès de M. He est très précise. Tout le monde est invité à avoir des opinions différentes.

Apprentissage recommandé : "

Tutoriel vidéo PHP"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal