ホームページで最も閲覧されている投稿を紹介するために、ユーザー投稿の訪問者カウント システムを実装したいと考えています。すでにシステムを導入している場合は、すべてのページが更新されるたびにビューとして記録されます。 Google Analytics は使用できないため、ユニーク訪問者のみがカウントされるようにするソリューションが必要です。
目標を達成するには、次の手順を実装できます:
<?php // Establish a connection to your MySQL database $conn = new mysqli("localhost", "username", "password", "database_name"); // Get the current timestamp $timestamp = time(); // Check if the visitor has a unique identifier in a cookie $cookie_name = "visitor_id"; if (isset($_COOKIE[$cookie_name])) { // Visitor has a unique identifier $visitor_id = $_COOKIE[$cookie_name]; } else { // Visitor does not have a unique identifier, create one and store it in a cookie $visitor_id = uniqid(); setcookie($cookie_name, $visitor_id, time() + (60 * 60 * 24 * 30)); // Expires in 30 days } // Check if the visitor already exists in your database $sql = "SELECT id FROM visitors WHERE visitor_id = ?"; $stmt = $conn->prepare($sql); $stmt->bind_param("s", $visitor_id); $stmt->execute(); $result = $stmt->get_result(); // If the visitor already exists, do not count them again if ($result->num_rows > 0) { // Visitor is already in the database, ignore them } else { // Visitor is new, insert them into the database and increment the view count $sql = "INSERT INTO visitors (visitor_id, first_visit) VALUES (?, ?)"; $stmt = $conn->prepare($sql); $stmt->bind_param("ss", $visitor_id, $timestamp); $stmt->execute(); // Increment the view count for the specific post $post_id = 1; // Replace this with the actual post ID $sql = "UPDATE posts SET views = views + 1 WHERE id = ?"; $stmt = $conn->prepare($sql); $stmt->bind_param("i", $post_id); $stmt->execute(); } // Close the database connection $conn->close(); ?>
このメソッドを実装すると、ユニーク訪問者を正確にカウントできます。投稿の人気を追跡します。 $post_id 変数を、ビューを追跡する投稿の実際の ID に置き換えることを忘れないでください。
以上がGoogle Analytics を使用せずにサイトへのユニーク訪問者をカウントするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。