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 :

Récupérer variable d'une fonction


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 67
    Par défaut Récupérer variable d'une fonction
    Bonjour,
    J'utilise une variable me permettant de stocker un url dans une fonction.
    Et j'aimerais utiliser cette variable dans une autre fonction de la même page php mais je ne sais pas comment faire. Lorsque je fais un echo de ma variable dans la 2eme fonction, elle ne renvoi rien. Comment peut on faire ? la stocker dans un formulaire et la récupérer avec POST ?

  2. #2
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Par défaut
    tu peux la définir comme global dans chaque fonction, mais ce n'est
    pas forcemment ce qu'il y a de plus propre à faire. sinon tu peux faire
    une classe avec tes deux fonction et ta variable pourrait être une variable
    membre de la class.

    Si tu as un bout de code je peux te faire d'autres suggestions.

  3. #3
    Membre Expert
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Par défaut
    salut,
    utilises une variable globale
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php
    $GLOBALS['a']=$a;
    ?>
    dans ce cas tu pourras l'utiliser partout !

  4. #4
    Membre émérite Avatar de FCYPBA
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 745
    Par défaut
    Et les valeurs de retour, elles servent à cela pourtant. Surtout si on a qu'une seule valeur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $url = mafonction();
    mafonction2($url);
    Essayer d'éviter au maximum les variables globales pour trimbaler vos variables entre des fonctions. Les paramètres sont fait pour cela.

  5. #5
    Membre Expert
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Par défaut
    Citation Envoyé par FCYPBA
    Essayer d'éviter au maximum les variables globales pour trimbaler vos variables entre des fonctions. Les paramètres sont fait pour cela.
    ok,

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 67
    Par défaut
    Merci pour vos réponses mais je n'ai pas compris le principe des valeurs de retour ?
    Il faut que je crée une fonction avec ma variable dedans et je l'appelle ensuite lorsque j'ai besoin de la variable ? est-ce cela ?

    Merci d'avance à vous

  7. #7
    Membre Expert
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Par défaut
    dans ta première fonction mafonction() tu retourneras la valeur de l'url
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function mafonction(){
    ...
    return $valeur_final;
    }
    tu recupères ensuite cette valeur comme décrit précedement
    Citation Envoyé par FCYPBA
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $url = mafonction();
    mafonction2($url);

  8. #8
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Citation Envoyé par thes32
    utilises une variable globale
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php
    $GLOBALS['a']=$a;
    ?>
    dans ce cas tu pourras l'utiliser partout !
    Il y a sans doute erreur ou confusion car $a et $GLOBALS['a'] désignent dans cet exemple une seule et même chose :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    $a = 'variable $a';
    var_dump($a);
    var_dump($GLOBALS['a']);
    string(11) "variable $a"
    string(11) "variable $a"
    En revanche, dans une fonction, là, oui, $GLOBALS prendrait tout son sens :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function carre($a) {
        $GLOBALS['a'] = pow($a, 2);
    }
     
    $a = 3;
    carre($a);
    var_dump($a); // 9
    A noter que cette question est traitée dans la documentation : portée des variables

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 67
    Par défaut
    Dis donc j'ai du mal à comprendre aujourd'hui ...

    A quoi correspond 'mafonction2' ?

    Voilà ce que j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     ShowList( $itemd, $search, ...) {
    ... CODE POUR AFFICHER LA LISTE ...
     
       $url = $_SERVER['REQUEST_URI'];
    }
    Une fonction showlist qui sert à afficher la liste des ingénieurs et à faire les recherches multicritères.

    Et j'ai une fonction fullView qui sert à afficher la fiche de chaque ingénieurs.
    A l'intérieur de cette fonction je voudrais utiliser l'url récupéré dans la fonction précédente et la mettre sur le bouton retour de la fiche.

  10. #10
    Membre chevronné

    Inscrit en
    Juillet 2008
    Messages
    232
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 232
    Par défaut
    Citation Envoyé par gueud Voir le message
    Dis donc j'ai du mal à comprendre aujourd'hui ...

    A quoi correspond 'mafonction2' ?

    Voilà ce que j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     ShowList( $itemd, $search, ...) {
    ... CODE POUR AFFICHER LA LISTE ...
     
       $url = $_SERVER['REQUEST_URI'];
    }
    Une fonction showlist qui sert à afficher la liste des ingénieurs et à faire les recherches multicritères.

    Et j'ai une fonction fullView qui sert à afficher la fiche de chaque ingénieurs.
    A l'intérieur de cette fonction je voudrais utiliser l'url récupéré dans la fonction précédente et la mettre sur le bouton retour de la fiche.
    Declare ta variable $url comme globale:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $url = "/";   #retourne a la page d'accueil par defaut
     ShowList( $itemd, $search, ...) {
    ... CODE POUR AFFICHER LA LISTE ...
     
       $url = $_SERVER['REQUEST_URI'];  #assigne une valeur a $url
    }
     
    ShowList(...);
    ... CODE UTILISANT $url ...

  11. #11
    Membre éprouvé

    Homme Profil pro
    Software Engineer
    Inscrit en
    Août 2004
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : Août 2004
    Messages : 173
    Par défaut
    Citation Envoyé par gueud Voir le message
    Dis donc j'ai du mal à comprendre aujourd'hui ...

    A quoi correspond 'mafonction2' ?

    Voilà ce que j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     ShowList( $itemd, $search, ...) {
    ... CODE POUR AFFICHER LA LISTE ...
     
       $url = $_SERVER['REQUEST_URI'];
    }
    Une fonction showlist qui sert à afficher la liste des ingénieurs et à faire les recherches multicritères.

    Et j'ai une fonction fullView qui sert à afficher la fiche de chaque ingénieurs.
    A l'intérieur de cette fonction je voudrais utiliser l'url récupéré dans la fonction précédente et la mettre sur le bouton retour de la fiche.
    corps de la fonction showList
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     ShowList( $itemd, $search, ...) {
    ... CODE POUR AFFICHER LA LISTE ...
     
       return $_SERVER['REQUEST_URI'];
    /* Ou si tu as une valeur défaut avec des conditionnelles
    $url = $_SERVER['REQUEST_URI'];
    return $url; */
     
    }
    déclaration de la fonction fullView
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function fullView($url) { instructions }
    appel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    fullView(showlist());

Discussions similaires

  1. Récupérer variable d'une fonction dans une fonction
    Par ForceFlo dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 18/10/2013, 22h47
  2. Réponses: 4
    Dernier message: 29/06/2008, 14h36
  3. [MySQL] Récupérer une variable d'une fonction et enregistrement dans une base de données
    Par Mikke dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 03/03/2008, 17h02
  4. Réponses: 3
    Dernier message: 28/09/2007, 16h58
  5. Réponses: 4
    Dernier message: 09/08/2006, 15h14

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