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 :

Rendre super-globale une variable


Sujet :

Langage PHP

  1. #1
    Membre confirmé Avatar de thanaos
    Inscrit en
    Mai 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 94
    Par défaut Rendre super-globale une variable
    Bonjour php-man and php-woman.
    A l'instare de $_SERVER ou $_POST, je cherche à rendre super-globale une variable $_PERSONNAL. Est ce possible et si oui comment ?

  2. #2
    Membre chevronné Avatar de sohnic
    Femme Profil pro
    bioinfo
    Inscrit en
    Mai 2003
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : bioinfo

    Informations forums :
    Inscription : Mai 2003
    Messages : 426
    Par défaut
    Bonjour,
    Je n'ai pas la reponse a ta question, mais pourquoi n'utilises-tu pas les variables $_SESSIONS ?
    (petite curiosite personnelle).

    Sohnic

  3. #3
    Membre éclairé Avatar de griese
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    646
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 646
    Par défaut
    Salut,
    T'entends quoi par super global ?

  4. #4
    Membre Expert
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Par défaut
    Salut,

    Le tableau de global $GLOBALS[] ? Ou le mot clé global à tout hasard.

    http://www.php.net/manual/fr/languag...bles.scope.php

    bye

  5. #5
    Membre confirmé Avatar de thanaos
    Inscrit en
    Mai 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 94
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $_temp[]="x";
    $_temp[]="y";
    $_temp[]="z";
    $GLOBALS["_PERSONNAL"] = $_temp;
    echo "[".$GLOBALS["_PERSONNAL"][2]."]<BR>"; // correct
    echo "[".$_PERSONNAL[2]."]<BR>"; // correct
     
    function toto()
    {
    	echo "[".$_PERSONNAL[2]."]<BR>"; // incorrect
     
    }
    toto();
    Ce code affiche
    Ce que je veux c'est que $_PERSONNAL soit une super-globale.

  6. #6
    Membre Expert

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $var = 'truc';
     
    function machin() {
       global $var;
       echo $var;
    }
     
    machin();

  7. #7
    Membre confirmé Avatar de thanaos
    Inscrit en
    Mai 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 94
    Par défaut
    Ca j'ai bien compris, Fladnag, mais cela ne fait pas de $var une super-globale.

  8. #8
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    Citation Envoyé par thanaos
    Ca j'ai bien compris, Fladnag, mais cela ne fait pas de $var une super-globale.
    Pour ce que tu veux, je ne vois pas d'autre solution que d'utiliser $GLOBALS

  9. #9
    Membre Expert

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Par défaut
    Seule autre solution pour définir des données visible partout : define

    mais ca transforme ta "variable" en constante... seul inconvenient ;o)

  10. #10
    Membre confirmé Avatar de thanaos
    Inscrit en
    Mai 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 94
    Par défaut
    Et comme une constante est non modifiable...
    Merci quand même.

  11. #11
    Membre Expert
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Par défaut
    Salut,

    Je ne compend pas ton exemple....

    En effet $_PERSONNAL sort de nul part, de ce fait je ne comprend pas comment ton script peut fonctionner, à part peut être un de ces trucs qui font que je hais PHP par moment....

    Bref, pourquoi ne pas être aller au bout de l'idée ?

    $GLOBALS["_PERSONNAL"] = array( "x","y","z");

    echo "[".$GLOBALS["_PERSONNAL"][2]."]<BR>"; // correct

    function toto()
    {
    echo "[".$GLOBALS["_PERSONNAL"][2]."]<BR>"; // correct

    }
    toto();
    fin voila,

    bbye

  12. #12
    Membre confirmé Avatar de thanaos
    Inscrit en
    Mai 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 94
    Par défaut
    Ca , j'ai bien compris. Je voulais juste essayer d'utiliser $_PERSONNAL comme $_POST ou $_SERVER.
    Il semble que ce ne soit pas possible.
    Merci à tous.

  13. #13
    Rédacteur
    Avatar de BrYs
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 014
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 014
    Par défaut
    Citation Envoyé par thanaos
    Ca , j'ai bien compris. Je voulais juste essayer d'utiliser $_PERSONNAL comme $_POST ou $_SERVER.
    Il semble que ce ne soit pas possible.
    Merci à tous.
    Non ça n'est pas possible.
    Le seul moyen est d'utiliser $GLOBALS si tu souhaites modifier les valeurs.

  14. #14
    Membre confirmé Avatar de thanaos
    Inscrit en
    Mai 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 94
    Par défaut
    Merci.

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

Discussions similaires

  1. Récupérer dans le global une variable d'une function
    Par josse34 dans le forum Langage
    Réponses: 2
    Dernier message: 08/12/2011, 12h38
  2. [rendre une variable globale dasn une fonction]
    Par emilek dans le forum ActionScript 3
    Réponses: 0
    Dernier message: 28/07/2009, 17h00
  3. Réponses: 2
    Dernier message: 21/10/2008, 12h30
  4. Réponses: 2
    Dernier message: 20/10/2008, 13h38
  5. Réponses: 2
    Dernier message: 30/09/2007, 14h35

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