PHPで訪問者数を達成する方法

藏色散人
リリース: 2023-03-14 12:26:02
オリジナル
2512 人が閲覧しました

PHP で訪問者数を達成する方法: 1. 2 つのデータベース テーブルを作成します; 2. ページの目的の場所にコード "$realip=getip();modifyipcount($realip);" を追加します。訪問者の数を数えます。

PHPで訪問者数を達成する方法

#この記事の動作環境: Windows 7 システム、PHP バージョン 7.4、Dell G3 コンピューター。

php 訪問者数を達成するにはどうすればよいですか?

PHP はページ訪問統計を正確に実装します

1. 2 つのデータベース テーブルが必要です

①、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));
ログイン後にコピー

注: ipdata は訪問者の記録された ip、iptime は記録された ip アクセス

②、統計テーブル

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');
ログイン後にコピー

2、あなたの場合の実装方法

次のコードをページに配置します回数をカウントする:

$realip=getip();
modifyipcount($realip);
ログイン後にコピー

getip() 関数のコードは次のとおりです:

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;
}
ログイン後にコピー

注: この関数のコードはインターネット上のどこにでも見つかります

modifyipcount() 関数コードは次のとおりです:

function modifyipcount($ip)
{
        <-----------------------数据库的连接省略------------------------->
        $query="SELECT * FROM ip where ipdata='".$ip."'";
        $result=mysql_query($query);
        $row=mysql_fetch_array($result);
        $iptime=time();
        $day=date('j');
        if(!$row)
        {
                $query="INSERT INTO ip (ipdata,iptime) VALUES ('".$ip."','".$iptime."')";
                mysql_query($query);
                $query="SELECT day,todayipcount,allipcount FROM count";
                $result=mysql_query($query);
                $row=mysql_fetch_array($result);
                $allipcount=$row['allipcount']+1;
                $todayipcount=$row['todayipcount']+1;
                if($day==$row['day'])
                {
                        $query="UPDATE count SET allipcount='".$allipcount."',todayipcount='".$todayipcount."'";
                }
                else
                {
                        $query="UPDATE count SET allipcount='".$allipcount."',day='".$day."',todayipcount='1'";
                }
                 mysql_query($query);
        }
        else
        {
                $query="SELECT iptime FROM ip WHERE ipdata='".$ip."'";
                $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['iptime']>86400)
                {
                                                $query="UPDATE ip SET iptime='".$iptime."' WHERE ipdata='".$ip."'";
                 mysql_query($query);
                        $allipcount=$row1['allipcount']+1;
                        if($day==$row1['day'])
                        {
                                $query="UPDATE count SET allipcount='".$allipcount."'";
                        }
                        else
                        {
                                $query="UPDATE count SET allipcount='".$allipcount."',day='".$day."',todayipcount='1'";
                        }
                         mysql_query($query);
                }
                if($day!=$row1['day'])
                {
                        $query="UPDATE count SET day='".$day."',todayipcount='1'";
                         mysql_query($query);
                }        
        }
}
ログイン後にコピー

注: ここでは、todayipcount と allipcount を呼び出せるように、24 時間以内のアクセス統計の数を 1

だけを追加するように設定しています。データベースのテーブル数で今日のアクセス IP と総アクセス IP を取得しました。個人的には非常に正確だと思います。皆さんもさまざまな意見を提出してください。

推奨学習: 「PHP ビデオ チュートリアル

以上がPHPで訪問者数を達成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!