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 :

Passer un dièse contenu dans une variable via un $_GET


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Octobre 2012
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Octobre 2012
    Messages : 40
    Points : 59
    Points
    59
    Par défaut Passer un dièse contenu dans une variable via un $_GET
    Bonjour.

    Je suis confronté à un soucis de passage de variable via une URL.
    je dois passer un contenu de ce type
    AZZ|AEERR|EFFF|A#AZEAZR|EEEE

    Je balance cette info comme ceci.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://mon_serveur/index.php?RX=AZZ|AEERR|EFFF|A#AZEAZR|EEEE
    Dans index.php j'affiche le contenu de ma variable, mais celle-ci efface tout ce qui est après le #
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    if (isset($_GET['RX'])){
    	$RX_from_gateway = $_GET["RX"];
    	echo "<< $RX_from_gateway <br>";
    }
    $result = explode("|",$RX_from_gateway);
    print_r($result);
    AZZ|AEERR|EFFF|A
    Explode :
    Array (
    [0] => AZZ
    [1] => AEERR
    [2] => EFFF
    [3] => A
    )
    J'ai fait des recherches sur le net, mais je n'ai pas trouvé grand chose là dessus.

    Comment passer le # dans ma requête?

    Merci de votre aide.

    Franck

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    Tout ce qui touche à une URL est normé : RFC 3986 (dernière norme)
    PHP te permet de construire les URLs en s'occupant de tout : rawurlencode() et son pendant rawurldecode()
    Enfin tu as http_build_query() qui peut te rendre aussi service.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $rx      = 'AZZ|AEERR|EFFF|A#AZEAZR|EEEE';
    $encoded = rawurlencode($rx);
    $url     = "http://mon_serveur/index.php?RX={$encoded}";
     
    $decoded = rawurldecode($encoded);
    $result  = explode('|', $decoded);
    print_r($result);

  3. #3
    Membre habitué
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2011
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Transports

    Informations forums :
    Inscription : Février 2011
    Messages : 146
    Points : 172
    Points
    172
    Par défaut
    le # est réservé au ancre en html, c'est pour ça que non encodé tu ne peux pas l'utiliser dans une url

  4. #4
    Membre du Club
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Octobre 2012
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Octobre 2012
    Messages : 40
    Points : 59
    Points
    59
    Par défaut
    Aïe

    Je voulais utiliser ce système pour recevoir des requêtes venant d'une passerelle.

    Tu utiliserais quelle méthode pour ce résultat?

  5. #5
    Membre du Club
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Octobre 2012
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Octobre 2012
    Messages : 40
    Points : 59
    Points
    59
    Par défaut
    Citation Envoyé par rawsrc Voir le message
    Salut,

    Tout ce qui touche à une URL est normé : RFC 3986 (dernière norme)
    PHP te permet de construire les URLs en s'occupant de tout : rawurlencode() et son pendant rawurldecode()
    Enfin tu as http_build_query() qui peut te rendre aussi service.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $rx      = 'AZZ|AEERR|EFFF|A#AZEAZR|EEEE';
    $encoded = rawurlencode($rx);
    $url     = "http://mon_serveur/index.php?RX={$encoded}";
     
    $decoded = rawurldecode($encoded);
    $result  = explode('|', $decoded);
    print_r($result);
    Hmmm ok
    Je vais exploiter cette piste.

Discussions similaires

  1. passer une chaine contenu dans une variable en nom de variable
    Par spiro13 dans le forum Général Python
    Réponses: 5
    Dernier message: 25/04/2007, 12h14
  2. Executer 1 script contenu dans une variable PHP
    Par emstar dans le forum Langage
    Réponses: 5
    Dernier message: 19/04/2006, 11h48
  3. Comment afficher une valeur contenue dans une variable ?
    Par manubrard dans le forum Langage
    Réponses: 5
    Dernier message: 20/02/2006, 15h56
  4. Condition contenu dans une variable string
    Par tomo0013 dans le forum Access
    Réponses: 6
    Dernier message: 01/12/2005, 14h15
  5. Réponses: 7
    Dernier message: 25/10/2005, 15h19

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