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

Langage PHP Discussion :

une incrementation en trop


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 498
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 498
    Par défaut une incrementation en trop
    Bonjour a tous,

    j'ai fais un simple compteur de visites ou le nombre de visites est stocke dans un .txt (cela evite des connexions a la BDD inutiles (certaines pages ne s'y connectent pas) et je n'avais pas envis de creer/modifier un table.
    donc... dans toutes mes pages, j'ai ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
     session_start();
     include("config.php");
     include("functions.php");
     if(!isset($_SESSION["updated"]))
     {
      View();
      $_SESSION["updated"]=1;
     }
    ?>
    et pour afficher : echo '<br />';ReadView();

    mes fonctions :
    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
    function View()
    {
     $file="view.txt";
    // Ouvrture en écirture-enregistrement du fichier
     $verif=@fopen($file,"r+");
    // Recuperation des donnees
     $val=fread($verif,filesize($file));
    // Preparation des donnees dans $new
     $val++;
    // Placement du curseur du fichier an début
     rewind($verif);
    // Insertion des nouvelles donnees
     fputs($verif,$val);
    // Fermeture du fichier
     fclose($verif);
    }
     
    function ReadView()
    {
      echo 'Site visit&eacute; '.file_get_contents('view.txt').' fois.';
    }
    je viens de verifier : SEULEMENT quand on provient de la page index.php (pour la #1 fois), le compteur s'increment de 2 au lieu de 1

    par exemple :
    - c'est la #1 fois que l'on arrive sur le site de index.php a une-page.php => le compteur = +2

    - c'est la #1 fois que l'on arrive sur le site de une-page.php a une-autre-page.php => le compteur = +1

    - c'est la #1 fois que l'on arrive sur le site de une-page.php a index.php => le compteur = +1

    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  2. #2
    Membre Expert Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Par défaut
    regarde dans les logs d'Apache pour voir les appels qui sont fait quand tu vas sur la page index.php

    petite parenthèse au sujet de la fonction View, tu peux la réduire avec les fonctions http://php.net/file_get_contents et http://php.net/file_put_contents

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function View()
    {
        $file = 'view.txt';
     
        $val = file_get_contents($file);
        $val++;
        file_put_contents($file, $val);
    }

  3. #3
    Membre Expert
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 498
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 498
    Par défaut
    alors la... je suis sur mon posterieur (pour rester poli ^^)

    #1 merci pour le code simplifie (en effet, j'utilise peu les fichiers)
    #2 ta fonction ne fait plus bugger...

    => je ne vais pas chercher le pourquoi du comment, mais juste te dire
    Merci !
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  4. #4
    Membre Expert Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Par défaut
    Citation Envoyé par Doksuri Voir le message
    #2 ta fonction ne fait plus bugger...
    euuuhhhhhhh ma fonction remplace exactement ce que faisait ta fonction précédente donc ne crie pas victoire trop vite, le bug est sûrement encore là donc fait plein de tests pour vérifier

  5. #5
    Membre Expert
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 498
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 498
    Par défaut
    En effet... il est toujours la

    => j'avais pourtant fait 2-3 tests avant de dire que c'etait bon...
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  6. #6
    Membre Expert Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Par défaut
    si tu arrives sur la page index.php et que tu rafraîchis la page, le compteur s'incrémente ?
    même question si tu rafraîchis la page une 3e fois

    qu'est ce qui change sur cette page par rapport à la gestion des sessions sur les autres pages ?

Discussions similaires

  1. Réponses: 3
    Dernier message: 15/07/2006, 05h18
  2. Création d'une incrémentation personalisée
    Par MatMeuh dans le forum Access
    Réponses: 3
    Dernier message: 10/07/2006, 22h26
  3. Comment dériver d'une TList sans trop de peine ?
    Par WebPac dans le forum Langage
    Réponses: 19
    Dernier message: 31/03/2006, 18h53
  4. modélisation d'une base : table trop grande
    Par Shabata dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 22/11/2004, 11h44
  5. [sdl+glut] une console en trop
    Par khayyam90 dans le forum GLUT
    Réponses: 3
    Dernier message: 02/08/2004, 09h15

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