Cumuler plusieurs compteurs

Fermé
Signaler
Messages postés
388
Date d'inscription
dimanche 8 février 2015
Statut
Membre
Dernière intervention
10 avril 2021
-
Messages postés
2094
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
3 janvier 2022
-
Bonsoir,
j'ai le code suivant pour un compteur de visiteurs+un compteur de connectés en temps réel :
<?php
/*
* Si le fichier où l'on stock,* les données n'existe pas encore* on le crée.*/
$year = date("y");$fichier = '.htcompteur';
$fichier = $fichier . $year;
if( !file_exists($fichier) ) {  
$fp = fopen($fichier, "w");  
fwrite($fp, serialize(array()));  
fclose($fp);
}
/** Définition de variables* nécessaire au compteur :* - deux termes constants,* - l'ip du visiteur,* - la date et l'heure.*/
$argument_visites = 'visites';
$argument_requêtes = 'requêtes';
$ip = $_SERVER['REMOTE_ADDR'];
$time = date('YmdGis');
/** Récupération des données du* compteur précédemment stockées.*/
$lignes = file($fichier) or die('Un problème est survenu, le compteur ne peut pas s\'afficher');
$donnees = unserialize($lignes[0]);
/** Pour chaque clé du tableau de données* qui ne soit pas attribuée aux visites et aux requêtes* si la valeur correspond à une date antérieure* au même jour, on supprime l'ip du visiteur.*/

foreach( $donnees as $cle => $valeur ){
  if( substr($valeur, 0, 8) != substr($time, 0, 8) &&  $cle != $argument_visites &&  $cle != $argument_requêtes ) { 
   unset($donnees[$cle]);  
  }
}
/** On incrémente ( ajoute +1 ) la valeur* du nombre de requêtes.* Si l'ip n'est pas encore enregistrée,* on incrémente la valeur du nombre de visites* et on ajoute l'ip dans le tableau accompagné* de la date et de l'heure de l'exécution.*/

$donnees[$argument_requêtes]++;
if( !$donnees[$ip] ) {  
$donnees[$argument_visites]++;  
$donnees[$ip] = $time;
}

/** On effectue un petit report de variable* pour une utilisation ultérieur plus aisée.*/
$nb_visiteurs = $donnees[$argument_visites];
$nb_aujourdhui = count($donnees)-2;
$nb_requêtes = $donnees[$argument_requêtes];
/** On stock le tableau dans le fichier de données* en écrasant sa valeur précédente.*/
$fp = fopen($fichier,"wb");fwrite($fp, serialize($donnees));fclose($fp);/** On affiche les résultats du compteur.*/if ($nb_visiteurs == '1') {print $nb_visiteurs. " visiteur depuis le 01/01/20";}else {print $nb_visiteurs. " visiteurs depuis le 01/01/20";}print $year." dont ";print $nb_aujourdhui. " aujourd'hui, ";if ($nb_requêtes == '1') {print $nb_requêtes. " page chargée.<br />";}else {print $nb_requêtes. " pages chargées.<br />";}if($bdd = mysqli_connect('localhost', 'xxxx', 'yyyy', 'zzzzz')){}else{echo 'Erreur';}$donnees = $bdd->query('SELECT COUNT(*) AS nbre_entrees FROM connectes WHERE ip=\'' . $_SERVER['REMOTE_ADDR'] . '\'')->fetch_array();if ($donnees['nbre_entrees'] == 0){$bdd->query('INSERT INTO connectes VALUES(\'' . $_SERVER['REMOTE_ADDR'] . '\', ' . time() . ')');}else{$bdd->query('UPDATE connectes SET timestamp=' . time() . ' WHERE ip=\'' . $_SERVER['REMOTE_ADDR'] . '\'');}$timestamp_5min = time() - (60 * 5);$bdd->query('DELETE FROM connectes WHERE timestamp < ' . $timestamp_5min);$donnees = $bdd->query('SELECT COUNT(*) AS nbre_entrees FROM connectes')->fetch_array();if ($donnees["nbre_entrees"] == '1') {print $donnees["nbre_entrees"]. " connecté en ce moment !";}else {print $donnees["nbre_entrees"]. " connectés en ce moment !";}?>

[]

EDIT : Ajout des balises de code

Merci d'y penser la prochaine fois (jordane)


comme vous pouvez le voir j'ai donc un fichier par ans pour le compteur de visiteurs.
Comment pourrais-je faire pour cumuler les différents fichiers puis afficher le nombre total de visiteurs depuis la création du site svp ?
Merci.
Excellente soirée.
Amicalement! Corentin.

11 réponses

Messages postés
18266
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 janvier 2022
998
bonsoir, ton code est particulièrement illisible.
tu souhaites "cumuler" les différents fichiers, ou bien les lire un par un et afficher le nombre total de visiteurs?
tu as un soucis particulier, qu'est-ce qui te bloque?
es-tu certain de ne pas vouloir utiliser une base de données pour stocher toutes ces information?
0
Messages postés
388
Date d'inscription
dimanche 8 février 2015
Statut
Membre
Dernière intervention
10 avril 2021
8
Salut,
euh oui pour la BDD, je préfère continuer avec les fichiers.
Je veux lire les fichiers un par un puis afficher le nombre total de visiteurs.
0
Messages postés
18266
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 janvier 2022
998
bonjour, tu as un soucis particulier, qu'est-ce qui te bloque?
tu cherches comment parcourir tous les fichiers, comment en lire un, ...?
0
Messages postés
388
Date d'inscription
dimanche 8 février 2015
Statut
Membre
Dernière intervention
10 avril 2021
8
Comment récupérer dans chaque ficheirs le nombre de visiteurs y compris cleui de cette année et créer la variable correspondante.
En gros je sais rien faire sauf l'affichage de la variable.
0
Messages postés
18266
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 janvier 2022
998
c'est toi qui a écrit le code que tu as montré?
0
Messages postés
388
Date d'inscription
dimanche 8 février 2015
Statut
Membre
Dernière intervention
10 avril 2021
8
Non, on me l'a passé.
0
Afin que ça soit lisible pour les autres:

/* Si le fichier où l'on stock, 
les données n'existe pas encore on le crée.*/
$year = date("y");
$fichier = '.htcompteur';
$fichier = $fichier . $year;
if( !file_exists($fichier) ) { 
 $fp = fopen($fichier, "w"); 
 fwrite($fp, serialize(array())); 
 fclose($fp);
}
/* 
Définition de variables nécessaire au compteur : 
- deux termes constants,
- l'ip du visiteur,
- la date et l'heure.
*/
$argument_visites = 'visites';
$argument_requêtes = 'requêtes';
$ip = $_SERVER['REMOTE_ADDR'];
$time = date('YmdGis');
/*
Récupération des données du compteur précédemment stockées.
*/
$lignes = file($fichier) or die('Un problème est survenu, le compteur ne peut pas s\'afficher');
$donnees = unserialize($lignes[0]);
 /* Pour chaque clé du tableau de données qui ne soit pas attribuée aux visites
  et aux requêtes si la valeur correspond à une date antérieure au même jour, on supprime l'ip du visiteur. */
foreach( $donnees as $cle => $valeur ){ 
 if( substr($valeur, 0, 8) != substr($time, 0, 8) && $cle != $argument_visites && $cle != $argument_requêtes ) { 
  unset($donnees[$cle]); 
 }
}
/** On incrémente ( ajoute +1 ) la valeur* du nombre de requêtes.
Si l'ip n'est pas encore enregistrée,
on incrémente la valeur du nombre de visites
et on ajoute l'ip dans le tableau accompagné
de la date et de l'heure de l'exécution.
*/
$donnees[$argument_requêtes]++;
if( !$donnees[$ip] ) { 
  $donnees[$argument_visites]++; 
  $donnees[$ip] = $time;
}
/** On effectue un petit report de variable* pour une utilisation ultérieur plus aisée.*/
$nb_visiteurs = $donnees[$argument_visites];
$nb_aujourdhui = count($donnees)-2;
$nb_requêtes = $donnees[$argument_requêtes];
/** On stock le tableau dans le fichier de données* en écrasant sa valeur précédente.*/
$fp = fopen($fichier,"wb");
fwrite($fp, serialize($donnees));
fclose($fp);
/* On affiche les résultats du compteur.*/
if ($nb_visiteurs == '1') {
 print $nb_visiteurs. " visiteur depuis le 01/01/20";
} else {
 print $nb_visiteurs. " visiteurs depuis le 01/01/20";
}
print $year." dont ";
print $nb_aujourdhui. " aujourd'hui, ";
if ($nb_requêtes == '1') {
 print $nb_requêtes. " page chargée.<br />";
} else {
 print $nb_requêtes. " pages chargées.<br />";
} 
if($bdd = mysqli_connect('localhost', 'xxxx', 'yyyyy', 'zzzz')) {

} else { 
 echo 'Erreur';
}
$donnees = $bdd->query('SELECT COUNT(*) AS nbre_entrees FROM connectes WHERE ip=\'' . $_SERVER['REMOTE_ADDR'] . '\'')->fetch_array();
if ($donnees['nbre_entrees'] == 0) {
 $bdd->query('INSERT INTO connectes VALUES(\'' . $_SERVER['REMOTE_ADDR'] . '\', ' . time() . ')');
} else {
 $bdd->query('UPDATE connectes SET timestamp=' . time() . ' WHERE ip=\'' . $_SERVER['REMOTE_ADDR'] . '\'');
} 
$timestamp_5min = time() - (60 * 5);
$bdd->query('DELETE FROM connectes WHERE timestamp < ' . $timestamp_5min);
$donnees = $bdd->query('SELECT COUNT(*) AS nbre_entrees FROM connectes')->fetch_array();
if ($donnees["nbre_entrees"] == '1') {
 print $donnees["nbre_entrees"]. " connecté en ce moment !";
} else {
 print $donnees["nbre_entrees"]. " connectés en ce moment !";
}
0
Utilisateur anonyme
Déjà ton code peut-être largement optimisé, comme quand tu veux mettre au pluriel ou éviter les if vide et mettre un else pour faire la condition contraire alors qu'un ! suffit.
Et aussi évite les accents pour les noms de variable car il suffit d'un mauvais encodage pour faire planter le script.

Sinon il faut que tu englobes ton scripts dans une fonction, utiliser la fonction glob pour récupérer tes fichiers et une boucle foreach pour exécuter le code sur chaque fichier.
0
Messages postés
388
Date d'inscription
dimanche 8 février 2015
Statut
Membre
Dernière intervention
10 avril 2021
8
Salut,
wow, ok, mais je ne sais pas du tout faire tout ça !
COmme je l'ai dis je ne suis pas l'auteur de ce code, je m'y connais vraiment très peu en php et j'ai pas encore eus le temps de l'apprendre.
Peux-tu me donner un exemple ou m'expliquer comment faire dans mon code stp ?
Merci.
0
Utilisateur anonyme
Ouep enfin il suffit de rechercher un peu sur Internet pour trouver la réponse vu que je t'ai donné les fonctions à utiliser. Il faut t'y mettre au PHP au lieu de demander gratuitement à tout le monde de le faire à ta place, car déjà tu n'apprend rien, ensuite un jour on y implantera une backdoor ou une erreur qui peut tout faire planter et tu comprendras pas pourquoi car tu n'auras pas vérifier le script.
0
Messages postés
18266
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 janvier 2022
998
Je propose d'ajouter ceci avant le commentaire
/* On affiche les résultats du compteur.*/

foreach (glob(".htcompteur.*") as $ancienfichier)
{
    	if ! ( $ancienfichier == $fichier )
	{
		$lignes = file($ancienfichier) or die('Un problème est survenu avec '. $ancienfichier);
		$donnees = unserialize($lignes[0]);
		$nb_visiteurs = $nb_visiteurs + $donnees[$argument_visites];
		$nb_requêtes = $nb_requêtes + $donnees[$argument_requêtes];
	}
}
0
Messages postés
388
Date d'inscription
dimanche 8 février 2015
Statut
Membre
Dernière intervention
10 avril 2021
8
@ZeNairolf ouais, mais je te l'ai dis j'ai pas le temps, déjà le collège toute la semaine alors le weekend je prend pas le temps de m'y mettre.
@yg_be merci mais ça ne fonctionne pas.
0
Messages postés
18266
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 janvier 2022
998
et ceci affiche quoi?
echo 'avant foreach glob <br>';
foreach (glob(".htcompteur.*") as $ancienfichier)
{
    	echo 'ancienfichier: '. $ancienfichier .'<br>';
        if ! ( $ancienfichier == $fichier )
	{
		echo 'traitement ancienfichier: '. $ancienfichier .'<br>';
                $lignes = file($ancienfichier) or die('Un problème est survenu avec '. $ancienfichier);
		$donnees = unserialize($lignes[0]);
		$nb_visiteurs = $nb_visiteurs + $donnees[$argument_visites];
		$nb_requêtes = $nb_requêtes + $donnees[$argument_requêtes];
	}
}
echo 'après foreach glob <br>';
0
Messages postés
388
Date d'inscription
dimanche 8 février 2015
Statut
Membre
Dernière intervention
10 avril 2021
8
Rien du tout :(
0
Messages postés
18266
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 janvier 2022
998
Et donc, avant que tu ajoutes mon code, cela affichait les statistiques d'une année, et maintenant, avec mon code ajouté, cela n'affiche plus rien?
Peux-tu montrer le code complet?
0
Messages postés
388
Date d'inscription
dimanche 8 février 2015
Statut
Membre
Dernière intervention
10 avril 2021
8
Aucun souci :

<?php
// Si le fichier où l'on stock,* les données n'existe pas encore* on le crée.*/
$year = date("y");

$fichier = '.htcompteur';
$fichier = $fichier . $year;
if( !file_exists($fichier) ) {  $fp = fopen($fichier, "w");
  fwrite($fp, serialize(array()));
  fclose($fp);

}
/** Définition de variables* nécessaire au compteur :* - deux termes constants,* - l'ip du visiteur,* - la date et l'heure.*/
$argument_visites = 'visites';
$argument_requêtes = 'requêtes';
$ip = $_SERVER['REMOTE_ADDR'];
$time = date('YmdGis');
/** Récupération des données du* compteur précédemment stockées.*/
$lignes = file($fichier) or die('Un problème est survenu, le compteur ne peut pas s\'afficher');
$donnees = unserialize($lignes[0]);
/** Pour chaque clé du tableau de données* qui ne soit pas attribuée aux visites et aux requêtes* si la valeur correspond à une date antérieure* au même jour, on supprime l'ip du visiteur.*/
foreach( $donnees as $cle => $valeur ){  
if( substr($valeur, 0, 8) != substr($time, 0, 8) &&  $cle != $argument_visites &&  $cle != $argument_requêtes ) {
    unset($donnees[$cle]);
  }}/** On incrémente ( ajoute +1 ) la valeur* du nombre de requêtes.* Si l'ip n'est pas encore enregistrée,* on incrémente la valeur du nombre de visites* et on ajoute l'ip dans le tableau accompagné* de la date et de l'heure de l'exécution.*/
$donnees[$argument_requêtes]++;
if( !$donnees[$ip] ) {  
  $donnees[$argument_visites]++;
  $donnees[$ip] = $time;
}
/** On effectue un petit report de variable* pour une utilisation ultérieur plus aisée.*/
$nb_visiteurs = $donnees[$argument_visites];
$nb_aujourdhui = count($donnees)-2;
$nb_requêtes = $donnees[$argument_requêtes];
/** On stock le tableau dans le fichier de données* en écrasant sa valeur précédente.*/
$fp = fopen($fichier,"wb");
fwrite($fp, serialize($donnees));
fclose($fp);
echo 'avant foreach glob <br>';
foreach (glob(".htcompteur.*") as $ancienfichier){     echo 'ancienfichier: '. $ancienfichier .'<br>';
        if ! ( $ancienfichier == $fichier ) {  echo 'traitement ancienfichier: '. $ancienfichier .'<br>';
                $lignes = file($ancienfichier) or die('Un problème est survenu avec '. $ancienfichier);
  $donnees = unserialize($lignes[0]);
  $nb_visiteurs = $nb_visiteurs + $donnees[$argument_visites];
  $nb_requêtes = $nb_requêtes + $donnees[$argument_requêtes];
 }}echo 'après foreach glob <br>';
/** On affiche les résultats du compteur.*/
if ($nb_visiteurs == '1') {print $nb_visiteurs. " visiteur depuis le 01/01/20";

}
else {print $nb_visiteurs. " visiteurs depuis le 01/01/20";

}
print $year." dont ";
print $nb_aujourdhui. " aujourd'hui, ";
if ($nb_requêtes == '1') {print $nb_requêtes. " page chargée.<br />";

}
else {print $nb_requêtes. " pages chargées.<br />";

}
?>

                          try{             
                          $requete="SELECT * FROM administrateur";

                          $query=sqlsrv_query($conn, $requete);

                          
                          while($donnees=sqlsrv_fetch_array($query)){ 
                            
                            if($donnees['username']===$username && $donnees['Motd_passe']===$Motd_passe){  
                              
                                session_start();

                                $_SESSION['id']=$donnees['id'];

                                $_SESSION['admin']=$username;

                               
                               header("Location: /admin/ordinateur/index.php");
  
                                                    
                        }
                        
                      }
                      sqlsrv_free_stmt($query);

                      
                    }catch(Exception $e){
                      die('Erreur '.$e->getMessage());

                    }
                     
                      }
                  sqlsrv_close($query);


EDIT : Ajout des balises de code (encore.....) !

.
Amicalement! Corentin.
0
Messages postés
34667
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 janvier 2022
3 990
Bonjour,

Je me permet juste quelques remarques :
1 - Merci de poster ton code AVEC les balises de code (et en faisant de l'indentation...)
(je viens de le faire pour toi encore une fois....)

2 - Tu corrigeras le bout de code :
try{             
                          $requete="SELECT * FROM administrateur";
                          $query=sqlsrv_query($conn, $requete);

                       
                          while($donnees=sqlsrv_fetch_array($query)){                          
                            if($donnees['username']===$username && $donnees['Motd_passe']===$Motd_passe){                              
                                session_start();
                                $_SESSION['id']=$donnees['id'];
                                $_SESSION['admin']=$username;
                               header("Location: /admin/ordinateur/index.php");                          
                        }                        
                      }
                      sqlsrv_free_stmt($query);
                      
                    }catch(Exception $e){
                      die('Erreur '.$e->getMessage());
                   }                    
               }
        sqlsrv_close($query);

Par celui que nous t'avons donné dans ton autre discussion .....

3 - Comme cela t'a été indiqué ... N'utilise pas de caractères accentués comme "noms de variables"


4 - Active l'affichage des erreurs PHP. (voir mes messages dans tes questions précédentes...)
0
Messages postés
18266
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 janvier 2022
998
Et si tu retires le code que je t'ai proposé, cela affiche de nouveau les statistiques d'une année?
0
Messages postés
388
Date d'inscription
dimanche 8 février 2015
Statut
Membre
Dernière intervention
10 avril 2021
8
Oui.
0
Messages postés
18266
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 janvier 2022
998
Et ainsi?
echo 'avant foreach glob <br />';
foreach (glob(".htcompteur.*") as $ancienfichier)
{
    	echo 'ancienfichier: '. $ancienfichier .'<br />';
        if ! ( $ancienfichier == $fichier )
	{
		echo 'traitement ancienfichier: '. $ancienfichier .'<br />';
                $lignes = file($ancienfichier) or die('Un problème est survenu avec '. $ancienfichier);
		$donnees = unserialize($lignes[0]);
		$nb_visiteurs = $nb_visiteurs + $donnees[$argument_visites];
		$nb_requêtes = $nb_requêtes + $donnees[$argument_requêtes];
	}
}
echo 'après foreach glob <br />';
0
Messages postés
2094
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
3 janvier 2022
253
yg_be, ton code fonctionne presque :
ligne 5
if ( $ancienfichier != $fichier )


Pour résumer :
<?php
header('Content-Type: text/html; charset=utf-8');

ini_set('display_errors', 'On');
error_reporting(E_ALL);

/*
* Si le fichier où l'on stock,
* les données n'existe pas encore
* on le crée.*/
$year = date("y");
$fichier = '.htcompteur';
$fichier = $fichier . $year;

if( !file_exists($fichier) ) {
 $fp = fopen($fichier, "w");
 fwrite($fp, serialize(array()));
 fclose($fp);
}

/** Définition de variables
 * nécessaire au compteur :
 * - deux termes constants,
 * - l'ip du visiteur,
 * - la date et l'heure.*/
$argument_visites = 'visites';
$argument_requetes = 'requêtes';
$ip = $_SERVER['REMOTE_ADDR'];
$time = date('YmdGis');

/** Récupération des données du
 * compteur précédemment stockées.*/
$lignes = file($fichier) or die('Un problème est survenu, le compteur ne peut pas s\'afficher');
$donnees = unserialize($lignes[0]);

/** Pour chaque clé du tableau de données
 * qui ne soit pas attribuée aux visites et aux requêtes
 * si la valeur correspond à une date antérieure
 * au même jour, on supprime l'ip du visiteur.*/
foreach( $donnees as $cle => $valeur ){
 if( substr($valeur, 0, 8) != substr($time, 0, 8)
 &&  $cle != $argument_visites &&  $cle != $argument_requetes ) {
  unset($donnees[$cle]);
 }
}

/** On incrémente ( ajoute +1 ) la valeur
 * du nombre de requêtes.
 * Si l'ip n'est pas encore enregistrée,
 * on incrémente la valeur du nombre de visites
 * et on ajoute l'ip dans le tableau accompagné
 * de la date et de l'heure de l'exécution.*/

$donnees[$argument_requetes]++;
if( !$donnees[$ip] ) {
 $donnees[$argument_visites]++;
 $donnees[$ip] = $time;
}

/** On effectue un petit report de variable
 * pour une utilisation ultérieur plus aisée.*/
$nb_visiteurs = $donnees[$argument_visites];
$nb_aujourdhui = count($donnees)-2;
$nb_requetes = $donnees[$argument_requetes];

/** On stock le tableau dans le fichier de données
 * en écrasant sa valeur précédente.*/
$fp = fopen($fichier,"wb");
fwrite($fp, serialize($donnees));
fclose($fp);

/** Lecture des années précédentes **/
foreach (glob(".htcompteur*") as $ancienfichier)
{
 if ( $ancienfichier != $fichier ){
  $lignes = file($ancienfichier) or die('Un problème est survenu avec '. $ancienfichier);
  $donnees = unserialize($lignes[0]);
  $nb_visiteurs = $nb_visiteurs + $donnees[$argument_visites];
  $nb_requetes = $nb_requetes + $donnees[$argument_requetes];
 }
}

/** On affiche les résultats du compteur.*/
print $nb_visiteurs. " visiteur".($nb_visiteurs>1?'s':'')." depuis le 01/01/20".$year;
print " dont ".$nb_aujourdhui. " aujourd'hui, ";
print $nb_requetes. " pages chargée".($nb_requetes>1?'s':'').".<br />";


/** Compteur des connectés **/
$bdd = mysqli_connect('localhost', 'xxxx', 'yyyy', 'zzzzz') or die('Erreur de connexion à la BDD');

$donnees = $bdd->query('SELECT COUNT(*) AS nbre_entrees FROM connectes WHERE ip=\'' . $_SERVER['REMOTE_ADDR'] . '\'')->fetch_array();

if ($donnees['nbre_entrees'] == 0){
 $bdd->query('INSERT INTO connectes VALUES(\'' . $_SERVER['REMOTE_ADDR'] . '\', ' . time() . ')');
}else{
 $bdd->query('UPDATE connectes SET timestamp=' . time() . ' WHERE ip=\'' . $_SERVER['REMOTE_ADDR'] . '\'');
}

$timestamp_5min = time() - (60 * 5);
$bdd->query('DELETE FROM connectes WHERE timestamp < ' . $timestamp_5min);
$donnees = $bdd->query('SELECT COUNT(*) AS nbre_entrees FROM connectes')->fetch_array();
print $donnees["nbre_entrees"]. " connecté".($nb_entrees>1?'s':'')." en ce moment !";

?>


Les ip n'étant lues que dans le fichier de l'année en cours, ceux qui reviennent sur la page après un changement d'année sont comptés plusieurs fois.

A mon avis, puisqu'il y a une base de donnée, on pourrait envoyer le contenu des fichiers dedans une fois pour toute et gérer les 2 compteurs en SQL.
0