ホームページ >バックエンド開発 >PHPチュートリアル >PHP を使用して CMS でアクセス統計モジュールを開発する方法
インターネットの発展に伴い、サイトのコンテンツを管理および維持するために完全なコンテンツ管理システム (CMS) を必要とする Web サイトがますます増えています。アクセス統計モジュールは、CMS の非常に重要なコンポーネントの 1 つです。このモジュールは、Web サイト管理者がサイトのアクセス状況を把握し、Web サイト利用者のニーズをより深く理解し、Web サイトの運用品質を向上させるのに役立ちます。この記事では、PHPを使用してCMSのアクセス統計モジュールを開発する方法を紹介します。
まず、Web サイトのアクセス データを格納するデータベース テーブルを設計する必要があります。このテーブルには次のフィールドがあります:
このテーブルの SQL コードは次のとおりです:
CREATE TABLE access_statistics
(
id
int(11) NOT NULL AUTO_INCREMENT,
date
日付 NOT NULL,
pageviews
int(11) NOT NULL,
visitors
int(11) NOT NULL,
new_visitors
int(11) NOT NULL,
主キー (id
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
データベース テーブルを設計した後、アクセス データをカウントし、データを格納するコードを記述する必要があります。データベース。
CMS では、通常、index.php など、ページリクエストを処理するためのエントリファイルがあります。このファイルに統計コードを記述できます。具体的には、次のコードをindex.phpに追加する必要があります:
// データベースに接続します
$servername = "localhost";
$username = "your_username";
$パスワード = "あなたのパスワード";
$dbname = "あなたのデータベース";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// 訪問者の IP アドレスを取得します
$ip = $_SERVER['REMOTE_ADDR'];
// 新しい訪問者かどうかを判断します訪問者
$sql = "SELECT * FROM access_log
WHERE ip
= '$ip'";
$result = $conn->query($sql);
if ($result->num_rows == 0) {
$new_visitor = 1;
} else {
$new_visitor = 0;
}
// レコードアクセスデータ
$sql = "INSERT INTO access_statistics
(date
, pageviews
, visitors
, new_visitors
)
VALUES (CURDATE) ( ), 1, 1, $new_visitor)
ON DUPLICATE KEY UPDATE pageviews
= pageviews
1, visitors
= visitors
1, new_visitors
= new_visitors
$new_visitor";
$conn->query($sql);
// を閉じますデータベース接続
$conn->close();
上記のコードでは、まずデータベースに接続し、現在の訪問者の IP アドレスを取得します。次に、IP アドレスに基づいてデータベースにクエリを実行し、その訪問者が新規訪問者であるかどうかを判断します。新しい訪問者の場合は $new_visitor の値を 1 に設定し、それ以外の場合は 0 に設定します。
最後に、アクセス データをデータベースに挿入します。この日付に対応するアクセス データがすでに存在する場合は、ページ ビュー、訪問者数、新規訪問者数にそれぞれ 1 を加えます。
データ統計が完了したら、Web サイト管理者が閲覧できるように、CMS の背景に統計データを表示する必要があります。
まず、データベース内の統計データをクエリするための PHP ファイルを作成する必要があります。コードは次のとおりです:
//データベースに接続します
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = " your_database";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
//クエリデータ
$sql = "SELECT * FROM access_statistics
ORDER BY date
DESC LIMIT 30";
$result = $conn ->query( $sql);
// データを配列に格納
$data = array();
while ($row = $result->fetch_assoc()) {
$date = date("Y-m-d", strtotime($row["date"])); $pageviews = $row["pageviews"]; $visitors = $row["visitors"]; $new_visitors = $row["new_visitors"]; $data[] = array("date"=>$date, "pageviews"=>$pageviews, "visitors"=>$visitors, "new_visitors"=>$new_visitors);
}
//JSON データを出力します
echo json_encode($data);
//データベース接続を閉じます
$conn->close ();
上記のコードでは、アクセス統計テーブルの過去 30 日間のデータをクエリし、そのデータを PHP 配列に保存します。次に、フロントエンド ページがインターフェイスを呼び出してデータを取得できるように、配列を JSON 形式に変換して出力します。
次に、データを表示する HTML ページを作成します。このページには、訪問数、訪問ユーザー数、新規ユーザー数などの情報を表示するグラフを含める必要があります。 Bootstrap や jQuery などの一般的なフロントエンド フレームワークを使用して、このページをすばやく構築できます。
具体的には、Chart.js などのオープンソースのグラフ作成ライブラリを使用してグラフを実装し、jQuery の ajax メソッドを使用して上記で記述した PHP インターフェイスを呼び出してデータを取得できます。
上記の手順により、Web サイト管理者がサイトのアクセス状況をよりよく理解できるように、簡単なアクセス統計モジュールを完成させることができます。もちろん、これは単なる例であり、さまざまなページのトラフィック統計を増やすなど、実際のニーズに応じてコードを改善できます。
以上がPHP を使用して CMS でアクセス統計モジュールを開発する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。