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 :

undifined variable sur compteur.


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de zebulon94
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France, Val de Marne (Île de France)

    Informations forums :
    Inscription : Juin 2008
    Messages : 169
    Par défaut undifined variable sur compteur.
    Bonjour à tous,

    Je me remet tout doucement au php et au dev web. J'ai voulu rajouter un compteur et je me retrouve avec une erreur que je n'arrive pas à corriger.

    L'erreur est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively in Unknown on line 0
    Voici le code du compteur :

    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
    23
    24
    25
    26
    27
    session_start(); // DEMARRE LA SESSION
    // SAUVGARDE LA VARIABLE hits DANS LE FICHIER DE SESSION
    $_SESSION['hits'] = $hits; //le problème viendrait d'ici...
    
    
    // TRAITEMENT SUR LE FICHIER TEXTE
    if(empty($hits)){
      $fp=fopen("compteur.txt","a+"); //OUVRE LE FICHIER compteur.txt
      $num=fgets($fp,4096); // RECUPERE LE CONTENUE DU COMPTEUR
      fclose($fp); // FERME LE FICHIER
      $hits=$num - -1;  // TRAITEMENT
      $fp=fopen("compteur.txt","w");  // OUVRE DE NOUVEAU LE FICHIER
      fputs($fp,$hits); // MET LA NOUVELLE VALEUR
      fclose($fp);  // FERME LE FICHIER
    }
    // AFICHAGE DU COMPTEUR
    echo "<TABLE align=center>";
    echo "<TR>";
    echo "<TD STYLE='border:1pt Solid navy;' >";
    echo "<FONT FACE='Verdana, Arial, Helvetica, sans-serif' SIZE=1>";
    echo "Visiteurs : $hits"; // VARIABLE DU COMPTEUR
    echo "</FONT>";
    echo "</TD>";
    echo "</TR>";
    echo "</TABLE>";
    
    ?>
    Merci d'avance pour vote aide.

    D.

  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
    D'ou vient $hits ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    Salut ,
    tu as essayé de suivre ce que te demande le message ?
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  4. #4
    Membre confirmé Avatar de zebulon94
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France, Val de Marne (Île de France)

    Informations forums :
    Inscription : Juin 2008
    Messages : 169
    Par défaut
    euh $hit .... bonne question, en fait je veux ouvrir une session pour que le compteur evite de s'incrémenter de 1 à chaque changement de page .

    RideKick, oui j'ai essayé de suivre se que me dis le message. L'erreur est en réalité caché mais cela ne fonctionne toujours pas ...

    D.

  5. #5
    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
    Si $_SESSION['hits'] est juste la pour marquer que tu as déjà fait l'incrémentation, c'est plutot quelque chose comme ca que tu veux :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    session_start(); 
     
    if(isset($_SESSION['hits'])){ // si $_SESSION['hits'] est défini 
      $fp=fopen("compteur.txt","a+"); //OUVRE LE FICHIER compteur.txt
      $num=fgets($fp,4096); // RECUPERE LE CONTENUE DU COMPTEUR
      fclose($fp); // FERME LE FICHIER
      $hits=$num - -1;  // TRAITEMENT
      $fp=fopen("compteur.txt","w");  // OUVRE DE NOUVEAU LE FICHIER
      fputs($fp,$hits); // MET LA NOUVELLE VALEUR
      fclose($fp);  // FERME LE FICHIER
      $_SESSION['hits'] = TRUE; // on défini $_SESSION['hits']
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Membre confirmé Avatar de zebulon94
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France, Val de Marne (Île de France)

    Informations forums :
    Inscription : Juin 2008
    Messages : 169
    Par défaut
    ok juste petite question, la fonctions isset() permet de savoir si la variable est définie.
    Dans notre exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if(isset($_SESSION['hits'])){
    }
    Si l'utilisateur entreprend sa première connexion,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    isset($SESSION['hits']) =>retourne FALSE
    donc
    le if() ne sera pas utlisé, et j'aurais une non ?

    Merci de vos réponse
    D.

  7. #7
    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
    Heu oui pardon je l'ai fais à l'envers
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(!isset($_SESSION['hits'])){ // si $_SESSION['hits'] n'est  pas défini
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. Définir des variables sur le serveur avec PHP.
    Par ronio dans le forum Langage
    Réponses: 2
    Dernier message: 04/08/2006, 11h23
  2. debutant lecture de plusieur variable sur une meme ligne
    Par Slumpy dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 16/06/2006, 20h37
  3. Variable sur plusieurs ligne
    Par krfa1 dans le forum ASP
    Réponses: 5
    Dernier message: 20/04/2006, 11h26
  4. ajouter une variable sur un control
    Par gijy dans le forum MFC
    Réponses: 15
    Dernier message: 21/03/2006, 19h18
  5. Utilisation d'une variable sur plusieurs unités
    Par Yamaneko dans le forum Langage
    Réponses: 2
    Dernier message: 05/06/2003, 12h23

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