IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Réaliser un compteur pour le nombre de visite [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Par défaut Réaliser un compteur pour le nombre de visite
    Bonjour tout le monde,

    Je réalise un site en PHP orienté objet en local.
    J'aimerai créer un compteur qui me permettrait d'afficher le nombre de visite(que les clients soit connecté ou pas).
    J'ai vu des sites qui réalisé directement le compteur mais il reste toujours à 1, donc je me demande si c'est du à qu'il soit en local et que je le visite toujours avc la même adresse IP.
    Qu'en pensez-vous??
    Avez-vous une méthode pour que je puisse en réaliser un et que cela fonctionne parfaitement??

    Merci d'avance!!

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Il faut déjà savoir ce que tu veux mesurer.
    Par exemple : si la même personne se connecte deux fois dans un délai de 1h c'est deux visites differentes ?

    Ensuite pour identifier un personne, tu peux utiliser l'ip et enregistrer l'information dans un cookie et/ou dans une base de donnée.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Par défaut réponse à sabotage
    Merci d'avoir répondu aussi rapidement.
    si la même personne se connecte deux fois dans un délai de 1h c'est deux visites differentes ?
    Je souhaiterais que ce soit une visite différente.

    Ensuite pour identifier un personne, tu peux utiliser l'ip et enregistrer l'information dans un cookie et/ou dans une base de donnée.
    Le problème c'est que pour le moment et surement dans la suite mon site restera en local et je pense que je l'utiliserais toujours avec le même PC d'où la même adresse IP. Alors si j'identifie la personne grâce à l'IP le compteur restera à "1", non??

    Merci pour tout!!

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu peux utiliser une session PHP : ca a l'avantage de se limiter dans le temps et de s'arreter quand l'utilisateur ferme le navigateur.

    A la premiere arrivée sur le site tu regardes si une session est en cours : si non, tu en crées une et tu augmentes ton compteur.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Par défaut réponse à sabotage
    Tu peux utiliser une session PHP
    Ok mais comment fais-tu cela??peut-tu me donner la structure ou un exemple car je comprend mieux quand j'ai un exemple!!

    Merci d'avance!!

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 92
    Par défaut
    Moi j'enregistre le nombre de visites dans un fichier de texte.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    $num_visitor = 0;
    if(@file_exists('counter.txt')){
       if(($counter = @fopen('counter.txt', 'r')) === FALSE)
          echo 'Warning:Unable to open the counter file.';
     
       if(($num_visitors = (int)@fgets($counter)) === FALSE)
          echo 'Warning:Unable to read the file.';
       if(@fclose($counter) === FALSE)
          echo 'Warning:Unable to close the file.';
    }
    if(!isset($_SESSION['new_visitor'])){
       $_SESSION['new_visitor'] = 1;
       $num_visitors ++;
       if(($counter = @fopen('counter.txt', 'w')) === FALSE)
          echo 'Warning:Unable to open the counter file.';
     
       if(@fwrite($counter, $num_visitors) === FALSE)
          echo 'Warning:Unable to save the data.';
       if(@fclose($counter) === FALSE)
          echo 'Warning:Unable to close the file, the data mignt be lost.';
    }

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Par défaut réponse à anaranjado
    Ok, j'ai essayé en mettant ton code dans ma page de code, cela fais qu'il m'affiche rien!!

    Donc je voulais savoir dois-je créer le document text avant tout?? ou il se créé tout seul??

    Peut-tu donc m'expliqué un peu plus ton code s'il te plais!!

    merci d'avance!!

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 92
    Par défaut
    Le fichier il se crée tout seul.
    D'abord, on initialise la variable $num_visitors à 0 (Zéro).

    Et puis, le script teste si le fichier de texte counter.txt texte dans le répertoire courant.

    - Si oui, il essaie à l'ouvrir et lire le numbre enregistré dedans.
    - Si non, la valeur de la variable $num_visitors reste 0 (Zéro).

    En suite, on teste si la variable session new_visitor est définie.

    - Si oui, on fait rien, il s'agit d'un visiteur déjà compté.
    - Si non, on incrémente la variable $num_visitors, et reouvre le fichier counter.txt, et enregistre la nouvelle valeur de $num_visitors dedans.

    Après l'exécution de ce script, vous pouvez faire un
    pour afficer le nombre de visiteurs.

  9. #9
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Par défaut
    Bonjour,

    je viens de regarder si la page "Counter.txt" existé et oui, et je viens de testé en affichant le nombre et .................... {suspense} ............... Cela fonctionne parfaitement!!

    Merci pour ton aide!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réaliser un compteur de visites
    Par openeyes dans le forum ActionScript 3
    Réponses: 0
    Dernier message: 30/03/2010, 14h02
  2. Réponses: 5
    Dernier message: 27/11/2009, 09h21
  3. aide pour la réalisation de compteur
    Par dark_vidor dans le forum Général JavaScript
    Réponses: 17
    Dernier message: 23/10/2006, 23h06
  4. Réaliser 2 actions pour un seul submit !
    Par pekka77 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 28/10/2005, 14h22
  5. Compteur pour Quickreport
    Par smail21 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 27/07/2005, 10h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo