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 :

Utiliser une variable dynamique dans _GET


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2014
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Janvier 2014
    Messages : 89
    Points : 83
    Points
    83
    Par défaut Utiliser une variable dynamique dans _GET
    Bonjour

    Je rentre dans ce chapitre des variables dynamiques.
    Voici le code que j'ai écrit pour récupérer les variables passées en argument d'une url, et dont le nom est dynamqie

    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
     
    /*
    test.pbp?arg_tbechange[114]=114&arg_tbechange[117]=117&arg_tbechange[118]=118&arg_tbtel114=&arg_tbtel117=123456&arg_tbtel118=987654
    */
     
    		$arg_tbechange = array();
    		$arg_tbechange = $_GET["arg_tbechange"];
    		$arg_tbtel = array();
     
    		if (!empty($arg_tbechange)) {
    			foreach($arg_tbechange as $elem) {
    				$key = $elem;		
    				// demander la lecture de l'argument arg_tel114
    				${$arg_tbtel.$key} = $_GET["arg_tbtel".$key];
    		                                     print "<p>${$arg_tbtel.$key}:'.${$arg_tbtel.$key}.'<</p>";	
    				// wst est la chaine arg_tel114 - demander la lecture de la chaine
    				$wst="arg_tbtel".$key;			
    				${$arg_tbtel.$key} = $_GET[wst];
    		                                     print "<p>${$arg_tbtel.$key}:'.${$arg_tbtel.$key}.'<</p>";
    			}				
    		}
    Explication pour ceux qui ne veulent pas perdre de temps:
    l'url contient un tableau donnant l'identifiant d'un objet Echange sous forme de tableau arg_tbechange ==> pas de problème pour le lire et récupérer les valeurs
    Elle donne aussi les numéros de téléphone mais logés dans une variable dynamique : arg_tbtel + numéro d'identifiant de l'échange concerné.
    Je ne peux pas utiliser de tableau car les noms ou identifiants des zones permettant de les saisir sont utilisés dans javascript et je ne sais pas comment les coder.
    Donc je passe par les variables dynamiques PHP. Mais je pense qu'il y a une notion de structure de nom des variables qui n'échappe.
    Car vous avez sous les yeux, mes essais.... infructueux

    Merci
    Claude

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Je ne vois pas trop l'utilité des variables dynamiques dans l'histoire Il faut juste construire le nom des variable arg_tbtelxxx à partir des données du tableau tbechange :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    /*
    test.pbp?arg_tbechange[114]=114&arg_tbechange[117]=117&arg_tbechange[118]=118&arg_tbtel114=&arg_tbtel117=123456&arg_tbtel118=987654
    */
     
    $arg_tbechange = $_GET["arg_tbechange"];
    $arg_tbtel = array();
    if (!empty($arg_tbechange) && is_array($arg_tbechange)) {
        foreach($arg_tbechange as $id) {
            $key = 'arg_tbtel'.$id;
            $arg_tbtel[$id] = $GET[$key]; // récupère la valeur de l'argument arg_telxxx
        }               
    }
    print_r($arg_tbtel);

  3. #3
    Membre régulier
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2014
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Janvier 2014
    Messages : 89
    Points : 83
    Points
    83
    Par défaut
    Bonsoir
    Merci de votre réponse.
    Mais j'ai besoin d'une variable dynamique

    Citation Envoyé par Celira Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
            $key = 'arg_tbtel'.$id;
            $arg_tbtel[$id] = $GET[$key]; // récupère la valeur de l'argument arg_telxxx
    . Et aussi, avec l'aide de votre exemple, je suis arrivée à ce que je veux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     $${$arg_tbtel.$id} = $_GET['arg_tbtel'.$id];
    Et ça marche.
    Encore Merci
    Claude

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

Discussions similaires

  1. [MooTools] Utilisation d'une variable dynamique dans un getElements
    Par michel78 dans le forum Bibliothèques & Frameworks
    Réponses: 3
    Dernier message: 18/08/2011, 09h39
  2. Afficher une variable dynamique dans la barre des taches de windows
    Par mustang-ffw02 dans le forum Windows Forms
    Réponses: 16
    Dernier message: 27/05/2007, 23h24
  3. Réponses: 7
    Dernier message: 24/01/2007, 10h01
  4. [PHP-JS] utiliser une variable php dans du javascript
    Par kcizth dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 06/02/2006, 11h53
  5. Enregistrement d'une variable dynamique dans un fichier
    Par zarbydigital dans le forum Langage
    Réponses: 13
    Dernier message: 24/12/2005, 21h28

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