ホームページ >データベース >mysql チュートリアル >PHP と MySQL を使用して Web サイトへのユニーク訪問者を追跡するにはどうすればよいですか?

PHP と MySQL を使用して Web サイトへのユニーク訪問者を追跡するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-17 13:03:01841ブラウズ

How Can I Track Unique Visitors to My Website with PHP and MySQL?

サイトへのユニーク訪問者をカウントするにはどうすればよいですか?

目標: サイトへのユニーク訪問者をカウントします。ユーザーごとに 1 日 (または週) に 1 回のアクセスのみです。

解決策 (PHP コード):

<?php
// Open database connection
$conn = new mysqli('localhost', 'root', 'password', 'database');

// Get user's IP address
$ip = $_SERVER['REMOTE_ADDR'];

// Check if user already visited today (or in the last week)
$sql = "SELECT * FROM visitors WHERE ip='$ip' AND last_visit >= DATE_SUB(NOW(), INTERVAL 1 DAY)";
$result = $conn->query($sql);

// If user is a new visitor
if ($result->num_rows == 0) {
    // Insert user's IP and current timestamp
    $sql = "INSERT INTO visitors (ip, last_visit) VALUES ('$ip', NOW())";
    $conn->query($sql);

    // Increment total visitor count
    $sql = "UPDATE stats SET visits = visits + 1";
    $conn->query($sql);
}

// Get total number of unique visitors
$sql = "SELECT COUNT(*) AS total_visitors FROM visitors";
$result = $conn->query($sql);
$total_visitors = $result->fetch_assoc()['total_visitors'];

// Display the number of unique visitors
echo "Total unique visitors: $total_visitors";

// Close database connection
$conn->close();
?>

説明:

  • コードはデータベース接続を確立し、ユーザーの IP アドレスを取得します。
  • データベースをチェックして、ユーザーが過去 1 日 (または 1 週間) 以内にすでにアクセスしたかどうかを判断します。
  • ユーザーが新規の場合、その IP と現在のタイムスタンプが「訪問者」テーブルに記録され、「統計」テーブルの合計訪問数が増加します。
  • 最後に、ユニーク訪問者の数は次のようになります。 「訪問者」テーブルからクエリされ、ユーザーに表示されます。

代替リソース:

  • MySQL を使用したユニークな Web サイト訪問者のカウントに関するチュートリアル: [チュートリアルへのリンク]

以上がPHP と MySQL を使用して Web サイトへのユニーク訪問者を追跡するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。