Maison  >  Article  >  base de données  >  Comment compter les visiteurs uniques de votre site en utilisant PHP ?

Comment compter les visiteurs uniques de votre site en utilisant PHP ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-08 09:50:02580parcourir

How to Count Unique Visitors to Your Site Using PHP?

Comment compter les visiteurs uniques sur mon site ?

Problème :

J'ai besoin d'un compteur de visiteurs précis qui ne enregistre les visiteurs distincts, qu'ils visitent quotidiennement ou hebdomadairement, pour un système de publication utilisateur qui classe les publications les plus consultées sur la page d'accueil. L'utilisation de Google Analytics n'est pas une option.

Solution :

Ce code PHP implémente la fonctionnalité requise :

<?php
session_start();        // start Session, if not already started

$visitors = array();    // store visitors IP addresses in a PHP array

$ip = $_SERVER['REMOTE_ADDR']; // get visitor's IP address

$dt = time();             // get current timestamp

$expiration = 86400;        // expire session in 24 hours

if(isset($_GET['view'])) { // check if 'view' is a query parameter
    if(!isset($_SESSION['last_visit']) || ($_SESSION['last_visit'] < ($dt - $expiration))) {
        // visitor hasn't visited in the last 24 hours (or ever)
        $_SESSION['last_visit'] = $dt;  // update last visit timestamp
        $visitors[] = $ip;            // add IP to the visitors array
        $view_count = $view_count + 1; // increment view count
    }
}

// output data
echo 'Total Unique Visitors: ', count($visitors);
echo '<br>';
echo 'Total Page Views: ', $view_count;
?>

Comment ça marche :

  1. Initialisez un tableau PHP $visitors pour stocker des adresses IP uniques.
  2. Obtenez l'adresse IP du visiteur en utilisant $_SERVER['REMOTE_ADDR'].
  3. Obtenez l'horodatage actuel ($dt).
  4. Définissez une variable de session $_SESSION['last_visit'] pour suivre la dernière fois que le visiteur a consulté la page, avec un délai d'expiration de 24 heures.
  5. Vérifiez si ' view' est un paramètre de requête. Si tel est le cas, cela signifie que la page est en cours de visualisation.
  6. Si le visiteur n'a pas visité au cours des dernières 24 heures (ou jamais), mettez à jour l'horodatage $_SESSION['last_visit'], ajoutez l'adresse IP à $visitors et incrémentez le nombre de vues.
  7. Affichez le nombre total de visiteurs uniques (nombre de $visitors) et le nombre total de pages vues ($view_count).

N'oubliez pas : Pour que ce code fonctionne, vous devez l'inclure sur chaque page pour laquelle vous souhaitez suivre les vues, et vous devez ajouter le code HTML suivant aux pages :

<a href="?view=1">View Post</a>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn