Désolé pour le up mais avec l'augmentation du trafic sur mon site internet
www.millenairesaintremi.fr, je refais une demande pour les compteurs live.
J'en ai installé un 2ème qui utilise MySql pour voir et il reste lui aussi bloquer à 1 visiteur, par contre, là, je n'ai pas l'IP!
Je vous mets le code d'actulab, script que je préfére pour la présence des IP et de leur reconnaissance:
Script:
Code PHP:
// Compteur instantané (compteur live ou live counter):
// ==================================
// Ce script met à jour le fichier /compteur-live/compteur-live.txt, dans lequel sont
// identifiés les visiteurs connectés sur le site.
// Il est appelé dans l'entête de toutes les pages du site.
// -----------------------------------------------------------------------------------
// Le fichier /compteur-live/compteur-live.txt contient 2 lignes par visiteur connecté:
// - une ligne contenant son heure de connexion,
// - suivie d'une ligne contenant son adresse IP.
// Les visiteurs y sont classés par ordre chronologique:
// - de celui qui s'est connecté il y a le plus longtemps (en haut de fichier),
// - à celui qui s'est connecté le plus récemment (en bas de fichier).
// -----------------------------------------------------------------------------------
// On lit chaque ligne du fichier /compteur-live/compteur-live.txt
// dans le tableau $compteur_live
$compteur_live = file("compteur-live.txt");
// -----------------------------------------------------------------------------------
// On détermine quels sont les visiteurs à éliminer
// (ceux dont la dernière connexion date de plus de 5 minutes).
$premiere_ligne_a_garder=-2; // valeur virtuelle. Sera 0 au 1er passage dans la boucle...
do { // On boucle jusqu'à trouver le premier visiteur à ne pas eliminer, ou la fin de fichier.
$premiere_ligne_a_garder=$premiere_ligne_a_garder+2; // visiteur suivant
} while((date('U', strtotime('-300 seconds')) > $compteur_live[$premiere_ligne_a_garder]) && ($premiere_ligne_a_garder < count($compteur_live)));
// 300 secondes = 5 minutes. Cette durée est modifiable.
// -----------------------------------------------------------------------------------
// On lit l'adresse IP du visiteur qui est en train de charger une page
if(isset($_SERVER["REMOTE_ADDR"])) { // Si on peut déterminer l'adresse IP
$ip_en_cours = $_SERVER["REMOTE_ADDR"];
}
else { // sinon
$ip_en_cours = "Non identifiable";
}
// -----------------------------------------------------------------------------------
// on reconstitue le futur contenu du fichier dans la variable $compteur
$compteur = "";
if($premiere_ligne_a_garder < count($compteur_live)) { // des visiteurs à ne pas éliminer?
// Pour tous les visiteurs inscrits dans le fichier à ne pas éliminer...
for($i=$premiere_ligne_a_garder; $i<count($compteur_live); $i=$i+2) {
// Garder ce visiteur, sauf si c'est celui qui est en train de recharger
// une page (ceci afin déviter les doublons).
if(trim($compteur_live[$i+1]) != $ip_en_cours) {
$compteur .= trim($compteur_live[$i])."\n".trim($compteur_live[$i+1])."\n";
}
}
}
// -----------------------------------------------------------------------------------
// Enfin on ajoute le visiteur qui est en train de se connecter
$compteur .= date('U')."\n".$ip_en_cours;
// -----------------------------------------------------------------------------------
// Et on écrit le tout dans le fichier
$pointeur=fopen("compteur-live.txt","w");
fputs($pointeur,$compteur);
fclose($pointeur);
?>
Code pour afficher:
Code PHP:
// Affichage des adresses IP des visiteurs connectés:
// ================================
// Ce script lit le fichier /compteur-live/compteur-live.txt, dans lequel sont
// identifiés les visiteurs connectés sur le site.
// -----------------------------------------------------------------------------------
// Le fichier /compteur-live/compteur-live.txt est créé et mis à jour par le "compteur
// live" présenté à http://www.actulab.com/script-php--visiteurs-connectes.php.
// Ce script nécessite donc l'installation préalable du "compteur live".
// -----------------------------------------------------------------------------------
// On lit chaque ligne du fichier /compteur-live/compteur-live.txt dans le tableau
// $compteur_live pour pouvoir afficher les adresses IP des visiteurs.
$compteur_live = file("../compteur-live/compteur-live.txt");
// -----------------------------------------------------------------------------------
// Le fichier /compteur-live/compteur-live.txt contient 2 lignes par visiteur connecté:
// - une ligne contenant son heure de connexion,
// - suivie d'une ligne contenant son adresse IP.
// Le nombre de visiteurs connecté est donc la moitié du nombre de lignes du fichier.
$nb_de_visiteurs = count($compteur_live)/2;
// -----------------------------------------------------------------------------------
// On lit l'adresse IP du visiteur qui est en train de charger la page pour pouvoir
// l'identifier parmi les visiteurs connectés
if(isset($_SERVER["REMOTE_ADDR"])) { // Si on peut déterminer l'adresse IP
$ip_en_cours = $_SERVER["REMOTE_ADDR"];
}
else { // sinon
$ip_en_cours = "Non identifiable";
}
// -----------------------------------------------------------------------------------
// On affiche le nombre de visiteurs connectés
echo "Il y a ".$nb_de_visiteurs;
if($nb_de_visiteurs > 1) {
echo " visiteurs connectés sur le site. Leurs adresses IP sont:";
}
else {
echo " visiteur connecté sur le site.";
if($nb_de_visiteurs == 1) {
echo " Son adresse IP est:";
}
}
// La ligne suivante est facultative... mais nous apprécierions ;-)
echo" \n";
// fin de la ligne facultative.
// -----------------------------------------------------------------------------------
// On affiche les adresses IP de tous les visiteurs
for($i=0; $i<$nb_de_visiteurs; $i++) {
echo"- .$compteur_live [2*$i+1]."&do_search=Search\" target=\"_blank\" title=\"+ d'infos sur cette adresse IP...\">".$compteur_live[2*$i+1]."";
// On détermine la présence de robots des moteurs de recherche parmi les visiteurs
$google1 = strpos($compteur_live[2*$i+1],"216.239.46");
$google2 = strpos($compteur_live[2*$i+1],"64.68.8");
$scooter1 = strpos($compteur_live[2*$i+1],"216.39");
$scooter2 = strpos($compteur_live[2*$i+1],"209.73");
$slurp = strpos($compteur_live[2*$i+1],"66.196");
$voila = strpos($compteur_live[2*$i+1],"195.101.94");
$fast = strpos($compteur_live[2*$i+1],"66.77.73");
$msn = strpos($compteur_live[2*$i+1],"204.95.98");
if(($google1 !== false) || ($google2 !== false)) {
echo" [Googlebot]";
}
elseif(($scooter1 !== false) || ($scooter2 !== false)) {
echo" [Scooter]";
}
elseif($slurp !== false) {
echo" [Slurp]";
}
elseif($voila !== false) {
echo" [VoilaBot]";
}
elseif($fast !== false) {
echo" [Fast Web Crawler]";
}
elseif($msn !== false) {
echo" [MSNBot]";
}
else{}
// On identifie le visiteur en cours parmi tous les visiteurs connectés
if($compteur_live[2*$i+1] == $ip_en_cours) {
echo" (c'est vous!)";
}
echo"
\n";
}
?>
merci du coup de pouce!