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 …