通常、訪問者がWebサイトにアクセスすると、ページにユーザーのCookie情報が記録されます。Cookieの有効期限が切れると、ユーザーはオンラインではないと見なされます。 。この記事では、PHP を使用して訪問者の IP を記録し、クライアント上の Cookie と有効期限を記録します。同時に、Sina IP アドレス インターフェイスを通じて訪問者の地理的位置を取得します (この例では、都道府県のみを記録します)。それを統計用に mysql テーブルに書き込むと、一定期間内の訪問者の総数や訪問者の地域分布も確認できます。
HTML
現在のオンライン人数を表示するページに div #total を配置し、訪問者の地域分布を表示するために使用するリスト #onlinelist をデフォルトで配置し、後で jQuery を使用してリストに読み込みを行います。マウスが詳細リストを表示する上でスライドするときの制御。
CSS
表示効果をレンダリングするために CSS を使用します。以下のコードでは、CSS3 を使用しています。そのため、効果をプレビューするには最新のブラウザーを使用することをお勧めします。
Mysql
訪問者のIP、地域、アクセス時間を記録するためにオンラインでデータテーブルを準備する必要があります。サンプル統計プロセス全体はこのテーブルに依存しており、その構造は次のとおりです:
PHP
online.php は、IP アドレスや地域などの訪問者情報を記録するために使用されます。まず、データ テーブルに訪問者 IP レコードがあるかどうかを確認し、存在する場合は、ユーザーの州と地域を取得し、ユーザーの IP、つまり州と地域をテーブルに挿入します。ここで、訪問者の Cookie レコードがあるかどうかを判断できます。存在しない場合は、Sina IP アドレス データベースから訪問者の地域情報を要求し、Cookie の値と有効期限を設定します。最後に、テーブル内の期限切れのレコードを削除し、レコードの総数をカウントして出力します。詳細はコードのコメントを参照してください。
関数 get_client_ip() は、ユーザーの実際の IP を取得するために使用されます。
geo.php は、各州(地域)の訪問者数の分布をカウントするために使用されます。データベースにクエリを実行し、州ごとに並べ替えるだけで、フロントエンドの Ajax インタラクションを容易にするために、最終的なデータセットが JSON 形式で出力されることに注意してください。
jQuery
フロントエンド ページが行う必要があるのは、ページが読み込まれるときに訪問者の合計数を表示することです。つまり、ajax を使用して online.php をリクエストします。次に、マウスを統計の矢印の上にスライドさせると、ajax を介して geo.php が要求され、各地域および州のオンライン人口の数が取得され、その結果がドロップダウン形式で表示されます。
最後に、この例には依存関係があるため、最初に jquery ライブラリをページにロードすることを忘れないでください。現在のバージョンは jquery-1.9.1 です。
内容はとてもエキサイティングで充実していますので、皆さんの学習に役立つことを願っています。