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 :

[Système] Pb de visibilité de variable


Sujet :

Langage PHP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Avril 2006
    Messages : 43
    Par défaut [Système] Pb de visibilité de variable
    J'ai une variable dans mon code, mais elle n'est pas visible lorsque je l'utilise dans un while...

  2. #2
    Membre chevronné
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2006
    Messages : 430
    Par défaut
    "J'ai une variable dans mon code", ca peut être très très vaste comme position

    Elle se trouve où exactement par rapport au while? dans une fonction?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Avril 2006
    Messages : 43
    Par défaut
    Non, juste avant...
    Voila le code :
    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
     
    while (!feof($fp))
        {
         $ligne = fgets($fp, 4096);
         eregi("([0-9]{1,3}\.){3}[0-9]{1,3}", $ligne, $reg1);
         eregi("([A-Z]*-[A-Z]*(-[0-9]*)?)", $ligne, $reg2);
         eregi("([0-9]{2}/){2}[0-9]{4}[ ]([0-9]{2}:){2}[0-9]{2}", $ligne, $reg3); 
     
         // On assigne les variables
         $adr_ip = $reg1[0];
         $nom_pc = $reg2[0]; //cette variable
         $date = $reg3[0]; 
     
         while ($donnees_dhcp = mysql_fetch_array($res1))
         {
          if ($donnees_dhcp['nom'] == $nom_pc)//la ca marche pas
          {
           $datum = $donnees_dhcp['date_expir'];
           echo "$datum";
          }
         }
        fclose($fp);

  4. #4
    Membre chevronné
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2006
    Messages : 430
    Par défaut
    et qu'est-ce qui ne marche pas exactement, tu peux être plus précis...?
    T'as fais un echo des différentes valeurs pour voir si elles contenaient bien ce que tu penses ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Avril 2006
    Messages : 43
    Par défaut
    Oui, j'ai fais un echo ds le while, elle s'affiche pas

  6. #6
    Membre chevronné
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2006
    Messages : 430
    Par défaut
    déjà, si tu veux accéder à un index alphanumérique dans ton tableau de resultat du fetch mysql, tu dois utiliser mysql_fetch_assoc et non mysql_fetch_array

    Ensuite, quelle variable ne s'affiche pas?

  7. #7
    Rédacteur

    Homme Profil pro
    Geek entrepreneur
    Inscrit en
    Novembre 2004
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Geek entrepreneur

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 224
    Par défaut
    Citation Envoyé par bkill
    déjà, si tu veux accéder à un index alphanumérique dans ton tableau de resultat du fetch mysql, tu dois utiliser mysql_fetch_assoc et non mysql_fetch_array
    mysql_fetch_array -- Retourne une ligne de résultat MySQL sous la forme d'un tableau associatif, d'un tableau indexé, ou les deux
    Si si ^^

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Avril 2006
    Messages : 43
    Par défaut
    Citation Envoyé par bkill
    déjà, si tu veux accéder à un index alphanumérique dans ton tableau de resultat du fetch mysql, tu dois utiliser mysql_fetch_assoc et non mysql_fetch_array

    Ensuite, quelle variable ne s'affiche pas?
    La variable $nom_pc s'affiche pas ds le while (en fait j'ai fais un echo ms il est pas ds le code ke j'ai mis)...je comprends pas du tout pourquoi. Vous auriez une idée?

  9. #9
    Membre chevronné
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2006
    Messages : 430
    Par défaut
    Citation Envoyé par hugo123
    Si si ^^
    Ah yes, pourquoi moi j'ai lu mysql_fetch_row?
    Hugo123, 1 point.

  10. #10
    Membre chevronné
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2006
    Messages : 430
    Par défaut
    Citation Envoyé par jeff&&php
    La variable $nom_pc s'affiche pas ds le while (en fait j'ai fais un echo ms il est pas ds le code ke j'ai mis)...je comprends pas du tout pourquoi. Vous auriez une idée?
    Donc tu dois déjà avoir un problème avant d'entrer dans le while non?
    T'as fais un echo avant? testé la regexp?

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Avril 2006
    Messages : 43
    Par défaut
    Le prblème c'est pas vraiment mysql_fetch_array, c'est surtout la variable qui est pas visible dans ce while...

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Avril 2006
    Messages : 43
    Par défaut
    Citation Envoyé par bkill
    Donc tu dois déjà avoir un problème avant d'entrer dans le while non?
    T'as fais un echo avant? testé la regexp?
    Oui oui, avant j'ai fais un echo et elle s'affiche, c'est pas le regexp qui merde

  13. #13
    Membre actif
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 46
    Par défaut code surement à l'intérieur d'une fonction
    Si ton code est dans une fonction et que ta variable est à l'extérieur, tu dois utiliser global pour accéder à la valeur. Attention, global peut être désactivé par le serveur.

    <?
    $toto = 'coucou';
    bob();

    function bob {
    global $toto; // sinon la fonction ne connait pas toto
    echo $toto;
    }

    ?>

  14. #14
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Avril 2006
    Messages : 43
    Par défaut
    Citation Envoyé par cyrianox
    Si ton code est dans une fonction et que ta variable est à l'extérieur, tu dois utiliser global pour accéder à la valeur. Attention, global peut être désactivé par le serveur.

    <?
    $toto = 'coucou';
    bob();

    function bob {
    global $toto; // sinon la fonction ne connait pas toto
    echo $toto;
    }

    ?>
    Mais non, il n'y a pas d'histoire de fonction la dedans.
    C'est ca le gros problème...

Discussions similaires

  1. problème visibilité de variable
    Par chti_juanito dans le forum Langage
    Réponses: 5
    Dernier message: 18/04/2006, 15h14
  2. [Système] Problème de définition des variables
    Par SLAM JACK dans le forum Langage
    Réponses: 6
    Dernier message: 29/03/2006, 20h53
  3. [Système] Pb script : présentation de variables
    Par winnie82 dans le forum Langage
    Réponses: 2
    Dernier message: 13/03/2006, 15h31
  4. problème de visibilité des variables dans un include
    Par d1g-2-d1g dans le forum Langage
    Réponses: 6
    Dernier message: 28/11/2005, 10h35
  5. [EasyPHP] problème de visibilité des variable dans les includes
    Par d1g-2-d1g dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 23/10/2005, 02h55

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