Vous êtes ici: Support du web > Scripts et tutoriaux > PHP / MYSQL > [PHP]Compteur de visites - scripts php

[PHP]Compteur de visites - scripts php

[PHP]Compteur de visites - scripts php [PHP]Compteur de visites - scripts php
Note : 4.8/5 (3 votes)
Derniéres modifications : 16/02/2010 à 00:20:40
Mots-Clés : php compteur visites script fonction php compter les visites gratuit fopen compteur visites avec fichier texte sans base de donn?en php

Bonjour,
dans ce tutoriel, je vais vous expliquer le fonctionnement d'un compteur de visites, et nous allons en réaliser un.

Notre service de compteur de visites gratuit sans inscription est susceptible de vous intéresser:

Le fonctionnement d'un compteur de visites est très simple, à chaque fois qu'une page est executée, on vérifie si l'utilisateur viens de la visiter en utilisant les Sessions. La Session d'un visiteur est supprimée lorsqu'il quitte son navigateur ou qu'il reste innactif pendant environ 20 minutes. Et c'est parfait pour nous. Alors si la Session n'existe pas(donc une nouvelle visite) la valeur d'un fichier texte sera augmentée de 1.
Le script ne vas même pas utiliser MYSQL.

Donc voici le code php pour faire un compteur de visites:
Code: PHP
<?php
session_start();
if(file_exists('compteur_visites.txt'))
{
        $compteur_f = fopen('compteur_visites.txt', 'r+');
        $compte = fgets($compteur_f);
}
else
{
        $compteur_f = fopen('compteur_visites.txt', 'a+');
        $compte = 0;
}
if(!isset($_SESSION['compteur_de_visite']))
{
        $_SESSION['compteur_de_visite'] = 'visite';
        $compte++;
        fseek($compteur_f, 0);
        fputs($compteur_f, $compte);
}
fclose($compteur_f);
echo '<strong>'.$compte.'</strong> visites.';
?>

Veuillez faire attention à mettre le <?php session_start(); ?> au tout début de votre page en ne laissant aucun caractère avant, sinon ça ne fonctionnera pas.

C'est tout pour ce tutoriel, si vous avez des questions, veuillez utiliser le forum ou le formulaire de contact.

Merci, j'espère que vous avez aimé ce script et qu'il vous sera utile.

Scripts et tutoriaux similaires à celui ci:

Commentaires

Ajouter un commentaire





Vous n'êtes actuellement pas connecté, certaines de vos informations(tel que votre Adresse IP) seront enregistrées pour éviter du spam.
Votre message ne doit pas contenir certains mots ou une adresse internet, sinon, il ne sera pas envoyé.

Les commentaires

Envoyé par ahmed le 10/02/2010 à 17:36:26
Salam Ybouane:
Franchement ton script ne fonctionne pas. mais sa fonctionne quand j'enlève "session_start();
". là le problème c'est quand j'appuie sur F5 la valeur ce change
Envoyé par ybouane le 16/02/2010 à 00:22:21
Bonjour,

Je t'ai répondu dans l'email que tu m'a envoyé.

Cordialement :)
Envoyé par damgui le 16/03/2010 à 20:29:27
bonjour
j ai le message erreur sur le script

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\wamp\www\CODIAFE\index.php:8) in C:\wamp\www\CODIAFE\inclu\compteur.php on line 5

a cause du start

session

merci de ton aide
Envoyé par ybouane le 25/03/2010 à 05:07:51
Bonjour,
@damgui: Je suis un peu en retard, mais il suffit de mettre le session_start(); au tout début de la page "racine", pour l'accueil du site, se sera la page index.php

Cordialement :)
Envoyé par Gat le 04/05/2010 à 19:07:05
Salut !

Franchement super script, super pratique ! Merci beaucoup !
Envoyé par allusers14 le 08/06/2010 à 14:56:13
bjr
merci bcp pr ton aide
g un petit probleme quand j'execute il me donne ce ci:
(visites.'; ?> )
Envoyé par ybouane le 16/06/2010 à 21:43:35
Bonjour,
@allusers14: C'est du php, c'est probablement pour ça que le code n'est pas exécuté, donc tu doit tester le script sur internet ou installer des logiciels tel que WAMP sur ton ordinateur pour pouvoir tester des codes php.

Cordialement.
Envoyé par damien le 18/03/2011 à 15:42:15
Bonjour,

Je pense utiliser ton code pour compter les visiteurs, mais je voulais savoir d'abord si on est obligé de le mettre sur toutes les pages du site?
J'ai pas compris l'histoire du fichier compteur_visites.txt: où faut- il le placer? Quel est son contenu?

Merci, pour ta réponse
Envoyé par XokeyzPE le 04/06/2011 à 11:04:53
Hey, good to find someone who ageers with me. GMTA.
Envoyé par hamza le 15/08/2011 à 06:52:19
Salam damien
Le fichier compteur.txt permet de compter combien de fois la page a été vu donc c'est po la peine de travaillé avec une base de donné
Envoyé par laurent75 le 29/08/2011 à 09:40:25
Bonjour,

Peux-t'on modifier la durée de 20 min?

Cordialement,
Envoyé par Pole le 11/11/2011 à 09:59:24
Bonjour
ahh oué ybouane t'es vraiment cool oué sa me donne le nombre de visite maintenant que j'ai changer le nom de "index.html" au "index.php"

mais sinon quand j'utilise le sql je mets "index.sql" ou comment ?

cordialement

;Pole
Envoyé par anzar le 06/12/2011 à 20:07:30
@pole :
salut , tu devrait déjà apprendre le langage php et sql, avant de te lancer dans la creation de site dynamique .

sinon un grand merci pour le script.
Envoyé par dakbgnhc le 24/01/2012 à 12:30:20
20
Envoyé par atlnet62 le 16/02/2012 à 15:40:00
Marche bien !

Petite précision pour modifier le temps de session ça se trouve dans le php.ini :

variable session.gc_maxlifetime (par défaut c'est 1440 en secondes sur apache2)

Cordialement,
Envoyé par Mil le 22/02/2012 à 12:51:26
Sans passer par mysql, ça veut dire qu'il faut passer par le ftp ? Peut-on le mettre directement à la racine du thème du Panneau d'administration, si oui à quel endroit ?
Envoyé par TimRuiz le 21/03/2012 à 16:17:09
Fonctionne très bien merci :D
Envoyé par breezy le 19/07/2012 à 03:21:37
Le compteur s'incrémente quand on actualise la page, comment faire pour empêcher sa? Merci
Envoyé par Rooty le 01/08/2012 à 17:19:48
C'est ARCHI-FAUX !
Je me demande comment cette page a pu arriver première dans le résultat des recherche.
Pour être corrigé peut-être ? la feuille de style CSS de cette page est aussi à revoir,
ainsi que votre orthographe.

On reprend et avec des commentaires dans le code

<?php
// Durée de vie de la session. 3600 sec = 1h.
// On considère qu'au bout d'une heure c'est une nouvelle visite
// mettez cette valeur à 1 ou 2 pour tester dans le navigateur
// que le reste du code fonctionne correctement
$lifetime=3600;
// Une session est stockée dans un COOKIE (non il n'y a pas besoin de base MySQL
// et ce dont il n'y a pas besoin on s'en fout éperdument dans des explications.
// pensez à supprimer les cookie entre deux tests et modification du code (selon votre serveur)
session_set_cookie_params($lifetime);
// la session doit commencer AVANT tout autre (ou headers php)
session_start();
$hits=0;
// si le compteur est trouvé dans la session c'est que l'utilisateur est déjà sur le site
// récupère la même valeur.
if(isset($_SESSION['hits'])) {
$hits = $_SESSION['hits'];
}
// SINON lecture de la valeur stockée dans le fichier.
// Pré-requis : il existe (pas la peine de le vérifier)
else
{ // ouverture du fichier compteur.txt en lecture et en écriture
$fp=fopen("compteur.txt","r+");
$num=fgets($fp,16); // RECUPERE LE CONTENU DU FICHIER (16 caractères)
$hits=$num +1;
fseek($fp, 0); // rembobine au début du fichier
fputs($fp,$hits); // MET LA NOUVELLE VALEUR
fclose($fp); // FERME LE FICHIER
$_SESSION['hits'] = $hits; // stocke la valeur dans la session
}


Envoyé par mmmmmmmm le 18/09/2012 à 20:24:26
merci
Envoyé par nHXjcYDch le 10/10/2012 à 09:11:13
в файле шаблона category.tpl.html вставить в нужное место следующее{if $allow_products_search}{include file="advanced_search_in_category.tpl.html"}{/if}Ответить
Envoyé par BONBON's le 06/11/2012 à 20:10:05
VOUS ETES LE 01 DEPUIS LE 06/11/12
Envoyé par pip141598 le 12/01/2013 à 22:53:28
d
Envoyé par Pyrrha le 15/01/2013 à 12:48:36
Personnellement le script suivant réalisé à l'aide de vos indications marche très bien, merci à vous !

<?php

session_start();

$compt = fopen("data/compteur/index.txt", "r+");
$compte = fgets($compt);

if(!isset($_SESSION['compt_visit']))
{
$_SESSION['compt_visit'] = 'VISIT';
$compte++;
fseek($compt, 0);
fputs($compt, $compte);
}

fclose();

echo $compte . " visites.";

?>

Je garde votre site dans mes favoris ;)
Envoyé par delly le 21/01/2013 à 10:18:01
merci pour ce support
Envoyé par Dev's Overmind le 24/01/2013 à 09:28:02
Le problème c'est que certaines personnes ne comprènnent pas qu'il y a souvent, en informatique, environ 1000 façon de faire la même chose....
@Rooty : On se plaind des explications et on veut réexpliquer....le problème étant que c'est pas forcément plus clair....
Je suis heureux, quant à moi de maîtriser suffisement pour comprendre ce que tu as voulu faire mais pour un novice...

On se fout éperduement de ce dont on a pas besoin mais tu ne parle pas suffisement de la moitier de ce dont il y a besoin

a bonne entendeur...
avant de donner des leçons, veille a ce que les tiennes soit correcte.
Envoyé par Delly le 24/01/2013 à 22:04:45
ce script je le essaiyer et ca marche directement
Envoyé par fbhdf le 19/02/2013 à 17:18:37
tjtu
Envoyé par Merde le 11/04/2013 à 11:41:41
De la pure merde qui marche pas, ça affiche visite c'est tout
Envoyé par moi le 22/04/2013 à 16:47:47
esk ça fonctionne bien ?


Il y a actuellent 36 personne(s) connecté(es)
Page générée en 0.00414 secondes
Retour en haut
Règlements - Nous contacter - Aider le site - RSS News
Copyright © Support du web - Toute copie partielle ou complète de nos créations est interdite sans l'accord de ses auteurs.
Toutes les marques citées appartiennent à leurs compagnies respectives.