Double compteur dans un fichier texte
3 messages
• Page 1 sur 1
Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics
- [Alex]
- Nouveau WRInaute

- Messages: 15
- Inscription: 30 Juin 2004
Double compteur dans un fichier texte
Je voudrais un compteur qui enregistre les visiteurs uniques quotidiens sur la deuxième ligne, et les pages vues sur la première. Voici mon code qui ne fonctionne pas.
Avant de lancer le script pour le première fois, je créé le fichier "compteur.txt" avec ça dedans:
Après une exécution du script, le résultat fait peur à voir: voici le fichier compteur.txt:
Après 2 exécutions, ca empire:
Après, le fichier ne change plus...
Qu'est ce qui ne va pas ?
- Code: Tout sélectionner
$fichier = fopen ('compteur.txt', 'r+'); // Ouverture en lecture-écriture
$pagesvues = fgets ($fichier); // Pages vues à la première ligne
$visiteurs = fgets ($fichier); // Visiteurs à la deuxième ligne
$pagesvues++; // On incrémente $pagesvues
fseek($fichier,0); // On remet le pointeur en haut à gauche du fichier
fputs ($fichier, "$pagesvues\n"); // On ecrase l'ancien nombre de pages vues à la première ligne que l'on remplace par le nouveau, puis on va à la deuxième ligne
if (!isset($_COOKIE['visiteur'])) { // Si le visiteur n'est pas déjà passé dans la journée
setcookie ('visiteur', true, time()+86400); // Maintenant on saura qu'il est déjà passé
$visiteurs++; // On incrément $visiteurs
fputs ($fichier, $visiteurs); // On ecrase l'ancien nombre de visiteurs à la deuxième ligne que l'on remplace par le nouveau
}
fclose ($fichier); // Fermeture de la connexion au fichier
Avant de lancer le script pour le première fois, je créé le fichier "compteur.txt" avec ça dedans:
- Code: Tout sélectionner
0
0
Après une exécution du script, le résultat fait peur à voir: voici le fichier compteur.txt:
- Code: Tout sélectionner
0 "3 petits carrés"
1
Après 2 exécutions, ca empire:
- Code: Tout sélectionner
0 "3 petits carrés"
"1 petit carré"
Après, le fichier ne change plus...
Qu'est ce qui ne va pas ?
- Oncle Tom
- WRInaute impliqué

- Messages: 812
- Inscription: 31 Mar 2003
Tu vas te prendre la tête pour rien avec un fichier texte.
J'te conseille plutôt de balancer ça dans une base de données.
Fais une table (site_compteurs) à 2 colonnes (visites,pagevues) (je simplifie à mort là, on pourrait faire des choses mieux).
Ensuite sur chaque page (avant l'envoi de ton premier header) mets ça :
Pour le domaine du cookie (c'est mieux de le mettre, ça risque de ne pas fonctionner sur certains navigateurs), si tu veux que ça soit utilisé sur tout le site, genre si y'a des sous-domaines, vire les www (ça fera ".domaine.extension" par exemple).
J'te conseille plutôt de balancer ça dans une base de données.
Fais une table (site_compteurs) à 2 colonnes (visites,pagevues) (je simplifie à mort là, on pourrait faire des choses mieux).
Ensuite sur chaque page (avant l'envoi de ton premier header) mets ça :
- Code: Tout sélectionner
//visiteur déjà reconnu (on n'incrémente que les pages)
if( isset($_COOKIE['visiteur']) )
{
mysql_query("UPDATE site_compteurs SET pagesvues = pagesvues + 1;");
}
//"première" visite
else{
setcookie('visiteur',1,time()+86400,'/','www.tonsite.extension');
mysql_query("UPDATE site_compteurs SET pagesvues = pagesvues + 1, visites = visites + 1;");
}
//et on récupère le tout à la fin si on veut l'afficher sur le site
$sql = mysql_query("SELECT visites,pagesvues FROM site_compteurs LIMIT 1;");
$compteurs = mysql_fetch_assoc($sql);
Pour le domaine du cookie (c'est mieux de le mettre, ça risque de ne pas fonctionner sur certains navigateurs), si tu veux que ça soit utilisé sur tout le site, genre si y'a des sous-domaines, vire les www (ça fera ".domaine.extension" par exemple).
3 messages
• Page 1 sur 1
Formation recommandée sur ce thème :
Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par les experts Google Analytics de Ranking Metrics.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
Consultez la description détaillée des produits ou services de Google suivants : Google PowerMeter
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
