Accueil > > > WD_COUNTER
WD_COUNTER
Information sur la source
Description
Le code présent ci-dessous vous permet de réaliser à la fois un compteur de hits (pages vues totales) et un compteur de visiteurs uniques quotidiens. La reconnaissance des visiteurs se fait grâce à l'ip stockée dans une table SQL et grâce au cookie créé qui ne se détruit ou se remplace lorsque l'on change de jour.
Source
- ############################################
- #
- # TABLE SQL A CREER DANS VOTRE BASE DE DONNEES
- # INSEREZ EGALEMENT LA LIGNE CI DESSOUS
- #
- # CREATE TABLE compteur (
- # comptage INT(9) NOT NULL,
- # date DATE NOT NULL DEFAULT '0000-00-00',
- # ip_adresse VARCHAR(15) NOT NULL DEFAULT '000.000.000.000'
- # );
- #
- # INSERT INTO `compteur` (`comptage`,`date`,`ip_adresse`) VALUES ('0','0000-00-00', 'comptage');
- ###################################################
-
- <?php
-
- ##################################
- #
- # COMPTEUR POWERED BY
- #
- # Webmaster-Debutant.net
- # Le 01/11/2004
- #
- ##################################
-
- //--------------------------------------
- // DEFINITION DES VARIABLES
- //--------------------------------------
-
- # Connection au serveur SQL
-
- $wd_host = "Votre_Hôte";
- $wd_login = "Votre_Login";
- $wd_passe = "Votre_Password";
- $wd_base = "Votre_Base";
- $wd_table = "compteur";
-
- # Date du jour + expiration du cookie + adresse ip du visiteur
-
- $date = date("Y-m-d");
- $expire = time()+(3600*24);
- $ip_visitor = $_SERVER['REMOTE_ADDR'];
- $temps = time();
-
- //----------------------------------------
- // CONNECTION AU SERVEUR SQL
- //----------------------------------------
-
- $connexion = mysql_connect($wd_host,$wd_login,$wd_passe)
- OR die ("Serveur Down !");
-
- $select_db = mysql_select_db($wd_base,$connexion)
- OR die ("Selection impossible de la base !");
-
- //--------------------------------
- // SCRIPT DE COMPTAGE
- //--------------------------------
-
- # Incrémentation du compteur de hits totaux
-
- $maj_hits = mysql_query("UPDATE ".$wd_table." SET comptage = comptage+1, date = '".$date."' WHERE ip_adresse='comptage'")
-
- OR die("Incrémentation impossible ! ".mysql_error());
-
- # On efface les enregistrements périmés (date <= $date)
-
- $delete = mysql_query("DELETE FROM ".$wd_table." WHERE date != '".$date."' AND ip_adresse != 'comptage'")
-
- OR die("Suppression impossible ! ".mysql_error());
-
- # Test de l'existence du cookie WD_Compteur
-
- if( ($_COOKIE['WD_Compteur'] != $date) || (!$_COOKIE['WD_Compteur']) )
- {
-
- # On insère les données si aucun cookie n'existe
-
- $insert = mysql_query("INSERT INTO ".$wd_table." (comptage, date, ip_adresse) VALUES ('".$temps."','".$date."','".$ip_visitor."')")
-
- OR die("Insertion impossible ! ".mysql_error());
-
- # On créé le cookie WD_Compteur
-
- setcookie("WD_Compteur",$date,$expire);
-
- }
-
- //---------------------------------------
- // RECUPERATION DES VALEURS
- //---------------------------------------
-
- # On récupère la valeur du champ comptage
- # où ip_adresse = 'comptage'
-
-
- $recup_hits = mysql_query("SELECT comptage FROM ".$wd_table." WHERE date = '".$date."' AND ip_adresse='comptage'")
-
- OR die("Selection du compteur impossible ! ".mysql_error());
-
- $row = mysql_fetch_assoc($recup_hits);
- $nbre_hits = $row['comptage'];
-
-
- # On compte les visiteurs uniques, c'est à dire
- # les ip enregistrées où date = '$date'
-
-
- $recup_visiteurs = mysql_query("SELECT COUNT(*) FROM ".$wd_table." WHERE date = '".$date."' AND ip_adresse != 'comptage'")
-
- OR die("Selection des visiteurs impossible ! ".mysql_error());
-
- $nbre_visiteurs = mysql_result($recup_visiteurs,0);
-
- //-------------------------------------------
- // FERMETURE DE LA CONNECTION
- //-------------------------------------------
-
- mysql_close($connexion);
-
- //------------------------------------
- // AFFICHAGE DES RESULTATS
- //------------------------------------
-
- # On teste les pluriels et on affiche les résultats
-
- if($nbre_hits > 1) { $s1 = "s"; } else { $s1 = "s"; }
- if($nbre_visiteurs > 1) { $s2 = "s"; } else { $s2 = "s"; }
-
- echo "<b>".$nbre_hits."</b> page".$s1." vues.";
- echo '<BR>';
- echo "<b>".$nbre_visiteurs."</b> aujourd'hui.";
-
- ?>
############################################
#
# TABLE SQL A CREER DANS VOTRE BASE DE DONNEES
# INSEREZ EGALEMENT LA LIGNE CI DESSOUS
#
# CREATE TABLE compteur (
# comptage INT(9) NOT NULL,
# date DATE NOT NULL DEFAULT '0000-00-00',
# ip_adresse VARCHAR(15) NOT NULL DEFAULT '000.000.000.000'
# );
#
# INSERT INTO `compteur` (`comptage`,`date`,`ip_adresse`) VALUES ('0','0000-00-00', 'comptage');
###################################################
<?php
##################################
#
# COMPTEUR POWERED BY
#
# Webmaster-Debutant.net
# Le 01/11/2004
#
##################################
//--------------------------------------
// DEFINITION DES VARIABLES
//--------------------------------------
# Connection au serveur SQL
$wd_host = "Votre_Hôte";
$wd_login = "Votre_Login";
$wd_passe = "Votre_Password";
$wd_base = "Votre_Base";
$wd_table = "compteur";
# Date du jour + expiration du cookie + adresse ip du visiteur
$date = date("Y-m-d");
$expire = time()+(3600*24);
$ip_visitor = $_SERVER['REMOTE_ADDR'];
$temps = time();
//----------------------------------------
// CONNECTION AU SERVEUR SQL
//----------------------------------------
$connexion = mysql_connect($wd_host,$wd_login,$wd_passe)
OR die ("Serveur Down !");
$select_db = mysql_select_db($wd_base,$connexion)
OR die ("Selection impossible de la base !");
//--------------------------------
// SCRIPT DE COMPTAGE
//--------------------------------
# Incrémentation du compteur de hits totaux
$maj_hits = mysql_query("UPDATE ".$wd_table." SET comptage = comptage+1, date = '".$date."' WHERE ip_adresse='comptage'")
OR die("Incrémentation impossible ! ".mysql_error());
# On efface les enregistrements périmés (date <= $date)
$delete = mysql_query("DELETE FROM ".$wd_table." WHERE date != '".$date."' AND ip_adresse != 'comptage'")
OR die("Suppression impossible ! ".mysql_error());
# Test de l'existence du cookie WD_Compteur
if( ($_COOKIE['WD_Compteur'] != $date) || (!$_COOKIE['WD_Compteur']) )
{
# On insère les données si aucun cookie n'existe
$insert = mysql_query("INSERT INTO ".$wd_table." (comptage, date, ip_adresse) VALUES ('".$temps."','".$date."','".$ip_visitor."')")
OR die("Insertion impossible ! ".mysql_error());
# On créé le cookie WD_Compteur
setcookie("WD_Compteur",$date,$expire);
}
//---------------------------------------
// RECUPERATION DES VALEURS
//---------------------------------------
# On récupère la valeur du champ comptage
# où ip_adresse = 'comptage'
$recup_hits = mysql_query("SELECT comptage FROM ".$wd_table." WHERE date = '".$date."' AND ip_adresse='comptage'")
OR die("Selection du compteur impossible ! ".mysql_error());
$row = mysql_fetch_assoc($recup_hits);
$nbre_hits = $row['comptage'];
# On compte les visiteurs uniques, c'est à dire
# les ip enregistrées où date = '$date'
$recup_visiteurs = mysql_query("SELECT COUNT(*) FROM ".$wd_table." WHERE date = '".$date."' AND ip_adresse != 'comptage'")
OR die("Selection des visiteurs impossible ! ".mysql_error());
$nbre_visiteurs = mysql_result($recup_visiteurs,0);
//-------------------------------------------
// FERMETURE DE LA CONNECTION
//-------------------------------------------
mysql_close($connexion);
//------------------------------------
// AFFICHAGE DES RESULTATS
//------------------------------------
# On teste les pluriels et on affiche les résultats
if($nbre_hits > 1) { $s1 = "s"; } else { $s1 = "s"; }
if($nbre_visiteurs > 1) { $s2 = "s"; } else { $s2 = "s"; }
echo "<b>".$nbre_hits."</b> page".$s1." vues.";
echo '<BR>';
echo "<b>".$nbre_visiteurs."</b> aujourd'hui.";
?>
Conclusion
Afin de faire fonctionner ce script, vous devez :
1) Créer la table SQL dans votre base de données 2) Insérer la 1ere ligne (requête INSERT INTO) dans votre table 3) Remplir les variables de connection (wd_host,wd_login...) 4) Uploader le script que vous avez enregistré sous compteur.php (par exemple) avec un logiciel type Bloc Note de Windows 5) Vous rendre à la page : http://www.votresite.com/compteur.php pour le tester
PS : Ce script a été mis à jour le 05/12/2004. La structure de la table a été modifiée suite à un petit bug décelé lors de l'enregistrement de la même ip depuis deux postes différents (exemple : réseau d'un lycée ou tous les postes ont la même ip). En effet, seul le premier PC qui se connectait avait accès au site alors que les autres avaient une erreur à cause de l'attribut UNIQUE qui se trouvait dans la structure de la table SQL.
Historique
- 05 décembre 2004 12:27:18 :
- 05 décembre 2004 12:30:18 :
Sources du même auteur
Sources de la même categorie
Commentaires et avis
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|