Bonjour,
je me suis créer grâce à un tuto sur le net un compteur graphique pour mon site …
il marche impécablement sur la page accueuil mais dés que je change de page il m’affiche un msg d’erreur:
d’aprés ce que j’ai compris il n’arrive pas à acceder à mon fichier compteur.txt où est stocké ma valeur du compteur
mon code est le suivant [cpp]<?
$fichier = ‘compteur.txt’;
$fp = file($fichier);
$compteur = $fp[0] + 1;
// Connexion à MySQL
mysql_connect(“", "”, “");
mysql_select_db("”);
// -------
// ETAPE 1 : on vérifie si l’IP se trouve déjà dans la table
// Pour faire ça, on n’a qu’à compter le nombre d’entrées dont le champ “ip” est l’adresse ip du visiteur
$retour = mysql_query(‘SELECT COUNT(*) AS nbre_entrees FROM compteur WHERE ip=’’ . $_SERVER[‘REMOTE_ADDR’] . ‘’’);
$donnees = mysql_fetch_array($retour);
if ($donnees[‘nbre_entrees’] == 0) // L’ip ne se trouve pas dans la table, on va l’ajouter
{
mysql_query(‘INSERT INTO compteur VALUES(’’ . $_SERVER[‘REMOTE_ADDR’] . ‘’, ’ . time() . ‘)’);
// om mets à jour le fichier compteur.txt
$nouveau = fopen($fichier,‘w+’);
fwrite($nouveau,"$compteur \n");
fclose($nouveau);
}
// -------
// ETAPE 2 : on supprime toutes les entrées dont le timestamp est plus vieux que 24 heures
// On stocke dans une variable le timestamp qu’il était il y a 24 heures :
$timestamp_5min = time() - (3600 * 24); // 3600 * 24 = nombre de secondes écoulées en 24 heures
mysql_query('DELETE FROM compteur WHERE timestamp < ’ . $timestamp_5min);
// Ouf ! On n’a plus qu’à afficher le nombre de connectés !
if ($fp[0] < 100000)
echo (’’);
if ($fp[0] < 10000)
echo (’’);
if ($fp[0] < 100000)
echo (’’);
if ($fp[0] < 1000)
echo (’’);
if ($fp[0] < 100)
echo (’’);
if ($fp[0] < 10)
echo (’’);
$compteur = preg_replace("#([0-9])#s", '<img src="/img/$1.gif" border="1" style="border-color: #FFFFFF;">',$compteur);
echo "$compteur";
mysql_close(); // Déconnexion de MySQL
?>[/cpp]
Merci de votre aide …