Compteur de visiteurs par ip

didy6392 Messages postés 266 Date d'inscription   Statut Membre Dernière intervention   -  
 gmni -
Bonjour,
Je voulais savoir comment trouver ou fabriquer un compteur de visites par ip par jour qui compte les visites pour que ca arrive a la forme de exemple: 5000 personnes sont passé sur le site depuis la créations.
Je sais pas si j'étais assez claire, alors demandez moi et/ou répondez moi,
Merci.
A voir également:

21 réponses

gmni
 
Ici un compteur par IP et par jour. Il supporte largement 500 connexions / jours. Chaque jour le log est reinitialisé.

Copier/coller la source ci-dessous dans un fichier texte nommé : "compteur.php"
Pour appeler le compteur, ajouter aux autres pages ".php" :
<? include("compteur.php"); ?>

++++++++++++++++++++++++++++++++++++++++++++++++++++++++

<?php

$i = 0;
$incremente = true;
$jour = date("d/m/Y");
$fichier = "visites.txt";
$fich_dat = "visites.dat";
$ip = $_SERVER["REMOTE_ADDR"];

function ajoute_num($lefichier) {
if (file_exists($lefichier)) {
$fp=fopen($lefichier,"r+");
$cpt=fgets($fp,10);
fseek($fp,0);
}else {
touch($lefichier);
$fp=fopen($lefichier,"w");
$cpt=0;
}
$cpt++;
fputs($fp,$cpt);
fclose($fp);
}

//------------------------------------------------------------

if (file_exists($fich_dat)) {

$data = fopen($fich_dat, 'r');

while (!feof($data)) {

$i++;

$ligne = fgets($data);

//supprime les sauts à la ligne du fichier data :
$ligne = preg_replace("/(\r\n|\n|\r)/", "", $ligne);

if ($i==1) {
$ladate = $ligne;
}

if ($i>1) {
if ($ligne==$ip) { $incremente=false; break; }
}

}

fclose($data);

} else {

touch($fich_dat);

}

//------------------------------------------------------------

if ($ladate==$jour) {

//----------------------------

if ($incremente==true) {

//met à jour le fichier data :
$update = fopen($fich_dat,'a+');
fputs ($update, "\n".$ip);
fclose($update);

ajoute_num($fichier);

$test = " ->incremente une nouvelle ip";

} else {

$test = " ->incremente pas. Ip loguée";

}

//-----------------------------

} else {

$test = " ->incremente un nouveau jour";

$fp=fopen($fich_dat,"w");
fputs($fp,$jour."\n".$ip);
fclose($fp);

ajoute_num($fichier);

}

//affiche le compteur :
$fd = fopen($fichier,"r");
$conpteur = fread($fd,filesize($fichier));
fclose($fd);

echo $conpteur;
//à desactiver :
echo $test;

?>

++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1
nEm3sis Messages postés 710 Date d'inscription   Statut Membre Dernière intervention   113
 
bonjour

je te propose un truc que j'ai

<?php
$monfichier = fopen('compteur.txt', 'r+');

$pages_vues = fgets($monfichier); // On lit la première ligne (nombre de pages vues)
$pages_vues++; // On augmente de 1 ce nombre de pages vues
fseek($monfichier, 0); // On remet le curseur au début du fichier
fputs($monfichier, $pages_vues); // On écrit le nouveau nombre de pages vues

fclose($monfichier);

echo '<p>Cette page a été vue ' . $pages_vues . ' fois !</p>';
?>


en plus tu peu faire un test pour voir si l'ip a déja été compté dans les derniere 24h
0
didy6392 Messages postés 266 Date d'inscription   Statut Membre Dernière intervention   36
 
Merci mais ça me met ça :
Cette page a été vue ' . $pages_vues . ' fois !
en aperçu.
0
nEm3sis Messages postés 710 Date d'inscription   Statut Membre Dernière intervention   113
 
pour l'apercu utilise tu quelque chose qui gère le php ?



je précise que le fichier compteur.txt doi exister avec un nombre dedans (et rien d'autre)


sinon tu peu montrer ton code
parce que le mien fonctionne ...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sfel Messages postés 1640 Date d'inscription   Statut Membre Dernière intervention   430
 
essai ca alors

echo "<p>Cette page a été vue ".$pages_vues." fois !</p>";

le problème vien des espaces autour des points, et les doubles cotes sont moins sujets a des problèmes, et ca te permet de mettre des apostrophes
0
didy6392 Messages postés 266 Date d'inscription   Statut Membre Dernière intervention   36
 
pareil mais enfaite j'ai du html et du js

j'ai mis ça dans mon fichier à la fin :

<?php $monfichier = fopen('compteur.txt', 'r+'); $pages_vues = fgets($monfichier); // On lit la première ligne (nombre de pages vues)$pages_vues++; // On augmente de 1 ce nombre de pages vuesfseek($monfichier, 0); // On remet le curseur au début du fichierfputs($monfichier, $pages_vues); // On écrit le nouveau nombre de pages vues fclose($monfichier); echo "<p>Cette page a été vue ".$pages_vues." fois !</p>";?>
0
sfel Messages postés 1640 Date d'inscription   Statut Membre Dernière intervention   430
 
rassure nous, tu n'as pas mis ca comme ca ??

tu a garder les retour a la ligne ??
si non, et que tu ne veux surtout pas faire les retour a la ligne, enleve les commentaires.
0
didy6392 Messages postés 266 Date d'inscription   Statut Membre Dernière intervention   36
 
j'avais mis ça comme ça mais j'ai changé et mis les retours à la ligne mais ça fait pareil.
0
nEm3sis Messages postés 710 Date d'inscription   Statut Membre Dernière intervention   113
 
si tu tien a garder les commantaire sans sauter de ligne ecris ca :
<?php $monfichier = fopen('compteur.txt', 'r+'); $pages_vues = fgets($monfichier); /* On lit la première ligne (nombre de pages vues)*/ $pages_vues++; /* On augmente de 1 ce nombre de pages vues*/ fseek($monfichier, 0); /* On remet le curseur au début du fichier*/ fputs($monfichier, $pages_vues); /* On écrit le nouveau nombre de pages vues*/ fclose($monfichier); echo "<p>Cette page a été vue ".$pages_vues." fois !</p>";?>
0
sfel Messages postés 1640 Date d'inscription   Statut Membre Dernière intervention   430
 
comme l'as demandé nemesis
nEm3sis

pour l'apercu utilise tu quelque chose qui gère le php ?



je précise que le fichier compteur.txt doi exister avec un nombre dedans (et rien d'autre) 



c'est à dire, tu as quelque chose comme, easyphp, apache debian, wamp, xxamp ??
0
nEm3sis Messages postés 710 Date d'inscription   Statut Membre Dernière intervention   113
 
a j'ai fai des tests chez moi

si tu lance la page avec qqch qui ne gère pas le php tu obtient :
Cette page a été vue ' . $pages_vues . ' fois !'; ?>


si tu la lance avec qqch qui gère le php tu obtient :
Cette page a été vue 578 fois !


ce qui revien a mon 2è message ....


edit:dsl de répéter de que stel di mais il est plus rapide que moi pour poster
0
didy6392 Messages postés 266 Date d'inscription   Statut Membre Dernière intervention   36
 
ça me dérange pas de sauter les lignes mais à la fin j'ai
Cette page a été vue ".$pages_vues." fois !";?>

J'affice la page avec firefox depuis mon explorateur de fichier, mais je peux essayer de l'envoyer par fillzilla pour voir si ça marche.
0
nEm3sis Messages postés 710 Date d'inscription   Statut Membre Dernière intervention   113
 
http://switch.dl.sourceforge.net/sourceforge/wampserver/wamp5_1.7.3.exe
utilise ca pour lire le php sur ton ordi


le fichier doi avoir l'extension .php
0
sfel Messages postés 1640 Date d'inscription   Statut Membre Dernière intervention   430
 
a mais ca va pas ca.

pour faire du php, il ne faut pas faire comme pour du html.

il te faut quelque chose côté serveur pour le tester...
0
didy6392 Messages postés 266 Date d'inscription   Statut Membre Dernière intervention   36
 
Il est gratuit le logiciel Nem3sis ?
0
sfel Messages postés 1640 Date d'inscription   Statut Membre Dernière intervention   430
 
oui, il est gratuit.
0
didy6392 Messages postés 266 Date d'inscription   Statut Membre Dernière intervention   36
 
je viens de prendre et de voir que Free propose des statistiques avec le php :
<!-- phpmyvisites -->
<a href="http://st.free.fr/" title="phpMyVisites | Open source web analytics"
onclick="window.open(this.href);return(false);"><script type="text/javascript">
<!--
var a_vars = Array();
var pagename='';

var phpmyvisitesSite = 40706;
var phpmyvisitesURL = "http://st.free.fr/phpmyvisites.php";
//-->
</script>
<script language="javascript" src="http://st.free.fr/phpmyvisites.js" type="text/javascript"></script>
<object><noscript><p>phpMyVisites | Open source web analytics
<img src="http://st.free.fr/phpmyvisites.php" alt="Statistics" style="border:0" />
</p></noscript></object></a>
<!-- /phpmyvisites -->

c'est très bien^^.

bref mais ce que je voulais moi c'est que ça me mette le nombre de visites depuis la création mais bon tampis c'est les gens ne voient pas combien il y a de visites depuis ...
0
Miss Fée
 
Bonjour,

De mon hébergement j'ai réussi à faire un compteur ! Si simple mais je ne trouvais pas quoi faire avec le code.

J'ai fait un fichier txt, et mis le code dedans.

Jusque là, ça va. Il fallait pas être brillant mais pareil... Après je colle l'image dans les pages, plus simple !!

Bon. Jusque là, j'ai le nombre de visites... Mais si je veux savoir les ip, les pages vues, etc. Comment je fais et ou je vais pour voir mes statistiques ?

Désolée, oui, je comprends un peu le html, mais là... Il faut que j'en sache un peu plus... pour être faire du "développement durable" :)

Merci très fort !
0
recif42 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
bonsoir je recherche un,conteur comme se site( a gauche) : https://www.corallium.net/
pour mon site que je viens d ouvrir : http://www.recif42.org/
je vous remerci beaucoup d avance ,@+ recif42
0
sfel Messages postés 1640 Date d'inscription   Statut Membre Dernière intervention   430
 
je ne vois pas de compteur sur ton premier lien
0