Forum ZitePLUS

La communauté des utilisateurs du CMS ZitePLUS

Vous n'êtes pas identifié(e).

#1 07/06/2009 23:01:30

knarf
Membre
Inscription : 04/06/2009
Messages : 64
Site Web

Créer un compteur de visites

Bonsoir le peuple

Voici un petit problème auquel je me suis penché...

rajouter un compteur de visites sur le site (sans DB, bien entendu...)

j'ai cherché un peu à droite et à gauche, et finalement, j'ai trouvé

voici comment faire:

premièrement, il faut rajouter ces lignes dans le fichier "index.php"

$AdresseIP = $_SERVER["REMOTE_ADDR"];
$Racine = "/racine-du-site/";
$DossierCache = "nom-du-dossier-où-sera-stocké-le-dossier-du-cache/";

function PlusUn() {
	$FichierCompteur = fopen($Racine."compteur.txt", "r+");
	$Avant = fgets($FichierCompteur);
	$Apres = $Avant+1;
	fseek($FichierCompteur, 0);
	fputs($FichierCompteur, $Apres);
	fclose($FichierCompteur);
}

if(!file_exists($DossierCache.$AdresseIP.".txt")) {
	$FichierCache = fopen($DossierCache.$AdresseIP.".txt", "w");
	fseek($FichierCache, 0);
	fputs($FichierCache, time());
	fclose($FichierCache);
	PlusUn();
} else {
	$FichierCache = fopen($DossierCache.$AdresseIP.".txt", "r+");
	$DerniereVisite = fgets($FichierCache);
	if($DerniereVisite+3600<time()) {
		fseek($FichierCache, 0);
		fputs($FichierCache, time());
		PlusUn();
	}
	fclose($FichierCache);
}

Cette partie du code est configurée de telle façon que le site se souvienne du visiteur pendant 1 heure (3600 secondes, mais cette valeur peut être changée à selon de vos désirs.)

Deuxièment, il faut créer 2 choses: un fichier "compteur.txt" où il faudra seulement écrire le chiffre 0 à l'intérieur, et rien d'autre, et un dossier qui stockera les adresses IP des visiteurs pendant le temps que vous aurez choisi (nommez-le comme vous voulez)

troizièmement (ça s'écrit comme ça??)

Maintenant, passons à la création d'un fichier qui rappellera sur votre site le nombres de visiteurs

<?php
$FichierCompteur = fopen("compteur.txt", "r");
$Visites = fgets($FichierCompteur);
fclose($FichierCompteur);
?>
<p><?php echo $Visites; ?> visite(s)</p>

ce fichier, nommez-le comme bon vous semble, car c'est un fichier qui doit seulement être lu, mais mettez-le à l'endroit où se trouve le fichier "index.php"...

quatrièmement:

insérez le code

<p><?php
include('le-fichier-qui-doit-être-lu-pour-le-nombre-de-visite.txt');
?>
</p>

dans le fichier qui doit afficher le nombre de visite. Personnellement, le l'ai mis dans le fichier "module latérale".

Et voilààààààààààààààààààààààààààààààààààà

Ditez-moi ce que vous en pensez et si vous rencontrez des problèmes.

@+

Dernière modification par knarf (07/06/2009 23:01:51)


<<La grandeur d'un métier c'est avant tout d'unir les Hommes.>>Antoine de Saint-Exupéry
«On peut juger de la grandeur d'une nation par la façon dont les animaux y sont traités.»Gandhi
<<Trop réfléchir, c'est risquer des diarrhées cérébrales>> Knarf

Hors ligne

#2 07/06/2009 23:17:15

jpg
Administrateurs
Inscription : 19/11/2008
Messages : 2 086
Site Web

Re : Créer un compteur de visites

Bonsoir,

mon avis ne porte pas sur le code, mais sur la méthode utilisée pour compter le nombre de visite sur le site.

Si j'ai bien compris ton message, tu utilises l'adresse IP pour identifier le visiteur.

A mon avis, ce n'est pas pertinent: quand X personnes de l'entreprise Y vont se connecter sur ton site, toutes ces personnes auront normalement la même adresse IP (proxy de l'entreprise) et ton script comptera seulement 1 visite; au lieu de 5, 10, 20, 100 ... sad

a+
jean-paul

Hors ligne

#3 07/06/2009 23:21:49

knarf
Membre
Inscription : 04/06/2009
Messages : 64
Site Web

Re : Créer un compteur de visites

jpg a écrit :

la méthode utilisée pour compter le nombre de visite sur le site.

Si j'ai bien compris ton message, tu utilises l'adresse IP pour identifier le visiteur.

A mon avis, ce n'est pas pertinent: quand X personnes de l'entreprise Y vont se connecter sur ton site, toutes ces personnes auront normalement la même adresse IP (proxy de l'entreprise) et ton script comptera seulement 1 visite; au lieu de 5, 10, 20, 100 ... sad

Yes, c'est bien le but, mais je n'avait pas pensé aux proxy des entreprises... là, il me faudrait un coup de main pour rajouter une fonction, alors... style stocker un cookie chez le visiteur qui serait rappelé (si il existe, pas d'incrémentation, mais si il n'existe pas, le créer et incrémenter)

un truc dustyle, en fait...

@+


<<La grandeur d'un métier c'est avant tout d'unir les Hommes.>>Antoine de Saint-Exupéry
«On peut juger de la grandeur d'une nation par la façon dont les animaux y sont traités.»Gandhi
<<Trop réfléchir, c'est risquer des diarrhées cérébrales>> Knarf

Hors ligne

#4 24/06/2009 23:58:50

knarf
Membre
Inscription : 04/06/2009
Messages : 64
Site Web

Re : Créer un compteur de visites

je relance un petit UP pour le sujet...

Si quelqu'un a une idée de comment faire, ça serait cool de sa part...

Merci d'avance


<<La grandeur d'un métier c'est avant tout d'unir les Hommes.>>Antoine de Saint-Exupéry
«On peut juger de la grandeur d'une nation par la façon dont les animaux y sont traités.»Gandhi
<<Trop réfléchir, c'est risquer des diarrhées cérébrales>> Knarf

Hors ligne

Pied de page des forums