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 :

problème de visibilité des variables dans un include


Sujet :

Langage PHP

  1. #1
    Membre du Club Avatar de d1g-2-d1g
    Profil pro
    Inscrit en
    mai 2004
    Messages
    127
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : mai 2004
    Messages : 127
    Points : 68
    Points
    68
    Par défaut problème de visibilité des variables dans un include
    Bonjour.

    On va essayer de faire simple, j'ai deux page, l'une inclus l'autre. La première déclare une variable que la seconde ne voit pas :

    Ma première page, test.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?
     
    $site_root = "http&#58;//127.0.0.1/";
     
    $test = "coucou";  
     
    echo "main &#58; ".$test."<br>";
     
    include&#40;$site_root."test2.php"&#41;;
     
    ?>
    Ma seconde page, test2.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?
     
    echo "include &#58; ".$test;
     
    ?>
    Le résultat :
    main : coucou
    include :
    Pourquoi je ne peut pas voir la variable dans la seconde page alors que si je vire le "$site_root." dans le include de la première ca fonctionne ?

  2. #2
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : février 2004
    Messages : 2 290
    Points : 1 475
    Points
    1 475
    Par défaut
    Et si sur page2.php tu as:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?
     
    global $test;
    echo "include&#58; ".$test;
     
    ?>

  3. #3
    Membre du Club Avatar de d1g-2-d1g
    Profil pro
    Inscrit en
    mai 2004
    Messages
    127
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : mai 2004
    Messages : 127
    Points : 68
    Points
    68
    Par défaut
    Ca change rien...

  4. #4
    Expert confirmé
    Avatar de siddh
    Inscrit en
    novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    tu fais un include d un fichier en lui passant le protocol http, si tu ne le met pas, c est un fichier local.

    Pour des raisons de sécurité, un fichier considéré comme distant ne doit pas avoir acces a tes variables je suppose.
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  5. #5
    Membre du Club Avatar de d1g-2-d1g
    Profil pro
    Inscrit en
    mai 2004
    Messages
    127
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : mai 2004
    Messages : 127
    Points : 68
    Points
    68
    Par défaut
    Ce que tu veux me dire c'est qu'en mettant quelquechose du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $site_root = "c&#58;\\chemin\\vers\\mon\\site\\";
    à la place de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $site_root = "http&#58;//127.0.0.1/";
    ca devrai marché ?

    J'essai ça dès ce soir...

  6. #6
    Expert confirmé
    Avatar de siddh
    Inscrit en
    novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    oui ou alors avec un dirname(__FILE__)
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  7. #7
    Membre du Club Avatar de d1g-2-d1g
    Profil pro
    Inscrit en
    mai 2004
    Messages
    127
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : mai 2004
    Messages : 127
    Points : 68
    Points
    68
    Par défaut
    Ok merci

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

Discussions similaires

  1. problème de visibilité des variables
    Par elhem dans le forum C#
    Réponses: 3
    Dernier message: 18/08/2009, 23h07
  2. Problème de visibilité des variables globales
    Par imaril dans le forum MATLAB
    Réponses: 3
    Dernier message: 21/04/2008, 03h20
  3. probléme d'insertion des variables dans une table
    Par moooona dans le forum Installation
    Réponses: 2
    Dernier message: 30/03/2008, 15h08
  4. Visibilité des variables dans le code généré par le GUIDE
    Par salseropom dans le forum Interfaces Graphiques
    Réponses: 6
    Dernier message: 09/10/2007, 09h50
  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