OVH Community, votre nouvel espace communautaire.

OVH et les compteurs lives...


bidibhoum
14/04/2007, 17h09
Bon, donc j'abandonne cette idée là.

qu'est ce que vous me conseiller comme compteur live, je dispose d'un autre avec une BDD MySql qui reste bloquer à 1 aussi!

amadeus
14/04/2007, 11h02
Cette ligne est total HS :
$pointeur=fopen("compteur-live.txt","w");
essaye en la remplacant par :
$pointeur=fopen("../compteur-live/compteur-live.txt","a");

mais comme dis juste avant dès que tu auras 2/3 visiteurs connectés en // tu aura des problèmes, ce n'est donc pas une solution pérenne.

amadeus
14/04/2007, 10h55
ton code ne marche pas parceque :
1. les noms de fichier ne sont pas les mêmes entre le stockage et l'affichage.
2. avec un fichier txt aucune chance que cela fonctionne un jour en mutu chez ovh, dès que tu auras un peut de visiteur ce sera la cata. Le système de répartition des charges entre les 300/500 serveur fait que lorsqu'on écrit dans un fichier, deux serveurs peuvent écrire en même temps dedans provoquant un conflit et détruisant l'intégrité des données (je me suis déjà arraché les cheveux là dessus).

bidibhoum
14/04/2007, 09h28
Citation Envoyé par pprem
et ce ne serait pas un bête problème de cache de ton navigateur, ou plus idiotement le fait qu'ils regardent les IP et ne les comptabilisent qu'une fois ? (du coup, si tu es le seul, tu n'as forcément que 1)

En fait l'IP que j'ai correspond à un IP OVH, le mien n'est même pas detecté!

pprem
14/04/2007, 01h20
et ce ne serait pas un bête problème de cache de ton navigateur, ou plus idiotement le fait qu'ils regardent les IP et ne les comptabilisent qu'une fois ? (du coup, si tu es le seul, tu n'as forcément que 1)

bidibhoum
13/04/2007, 19h41
Citation Envoyé par pprem
ma réponse est la même : as-tu contacté Actulab pour comprendre le code qu'ils te fournissent et voir pourquoi il déconnerait sur ton serveur ?
Actulab ne répond pas, le script date de 2004!

mais j'ai testé un autre script qui utilise MySql et il reste aussi bloquer à 1!!

Des idées?
suis-je le seul qui a ce problème?

thibotus01
13/04/2007, 09h05
Et il utilise pas Mysql mais un fichier texte

bidibhoum a écrit :
> 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:
>
> PHP code:
> --------------------
> > // 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 > // 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:
>
> PHP code:
> --------------------
> > // 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--v...-connectes.php.
> // Ce script nécessite donc l'installation préalable du "compteurlive".
> // -----------------------------------------------------------------------------------
> // 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" \"Script\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]."";
> // 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!
>
>


pprem
12/04/2007, 22h51
ma réponse est la même : as-tu contacté Actulab pour comprendre le code qu'ils te fournissent et voir pourquoi il déconnerait sur ton serveur ?

bidibhoum
12/04/2007, 18h46
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!

pprem
02/04/2007, 09h03
le problème n'est pas ici... mais du côté du compteur.

la réponse à ta question, tu la trouveras donc chez Actulab

bidibhoum
01/04/2007, 17h22
Bonjour,

Je viens d'installer sur mon site un compteur live
http://www.actulab.com/script-php--v...-connectes.php
Il marche: mais il reste bloqué à 1 visiteur qui a un IP correspondant à ovh: 213.186.33.19


Que faire pour avoir le nombre réel de visiteur?

Merci de votre aide!