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 une URL en tant que valeur d'une variable dans une URL GET


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Passer une URL en tant que valeur d'une variable dans une URL GET
    Je ne sais pas si le titre est très clair, mais en fait ce que je cherche à faire est, je pense, assez simple.
    Voilà, j'ai une liste de liens, ils sont tous cliquables à partir d'une URL :
    out.php?id=25&url=http://www.monsite.com/test/referer.cgi?id=56&nom=monsite

    Mais voilà, le soucis, et que lorsque l'utilisateur clique la partie rediriger est la suivante : http://www.monsite.com/test/referer.cgi?id=56
    sans la partie &nom=monsite ce qui est finalement assez logique puisque out.php considère 'nom' comme une variable lui étant destinée.
    Lorsque je reformate mes urls avec & cela ne change rien.
    J'aimerai donc une solution qui me permettrait de faire comprendre à mon script "out.php' que l'adresse à rediriger est celle contenu par la variable 'url' toute entière.

    Merci

  2. #2
    Rédactrice
    Avatar de xave
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 46
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2002
    Messages : 871
    Points : 1 094
    Points
    1 094
    Par défaut
    Tu peux nous montrer comment tu fais la redirection?

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    if ($_GET['id']) {
    $connexion=mysql_connect("$sql","$login","$mdp");
    mysql_select_db($base, $connexion);
    $sql = "UPDATE `annu` SET `out`=`out`+1 WHERE `id` = $_GET[id]";
    mysql_query($sql, $connexion);
    }


    header("Location:". $_GET['url']."");

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Points : 1 504
    Points
    1 504
    Par défaut
    dans ton script out.php, ne te serait il pas possible d'utiliser le tableau des variables GET pour completer la variable url avec les parametres qui la suivent?

    Par exemple si toutes tes url sont de la forme out.php?url=xxxxxx&var1=val1 etc...
    alors essaie ceci:
    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
     
         $compteur=0;
         $url='';
         foreach ($_GET as $key=>$var){
                 if($compteur==0){
                     $url.=$key;
                      echo '<br>';
                 }
                 else
                 {
                 $url.="&".$var."=".$key;
                 echo '<br>';
                 }
                 $compteur++;
         }
    echo $url;
    Ensuite tu peux facilement reconstruire l'url précise à rediriger.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par Raideman
    dans ton script out.php, ne te serait il pas possible d'utiliser le tableau des variables GET pour completer la variable url avec les parametres qui la suivent?
    Oui c'est ce à quoi j'avais pensé mais à la base mais j'étais à la recherche d'une méthode peut être moins lourde, ou j'aurai plus simplement trouvé un moyen d'encapsuler ma variable URL, comme par exemple l'utilisation de guillemmets "" de la même façons qu'on les utilise pour un echo ou printf

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 498
    Points : 461
    Points
    461
    Par défaut
    et une petite fonction : urlencode() une...

  7. #7
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Points : 1 504
    Points
    1 504
    Par défaut
    Je ne pense pas, car le protocole HTTP fonctionne comme ceci et je doute qu'il soit possible de gruger l'intreprétation des variables.
    Ceci dit, le code que je t'ai proposé est relativement "petit" et ne risque pas, je pense, d'alourdir tes traitements si c'est une contrainte pour toi.

  8. #8
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Points : 1 504
    Points
    1 504
    Par défaut
    Lol fucce, bien vu ^^
    Je suis trop dans mon code moi, je crois que c'est l'heure de prendre ma pause !

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    urlencode()

    super, merci, c'est exactement ce dont j'avais besoin.

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 498
    Points : 461
    Points
    461
    Par défaut
    y'a pas de quoi! ça me rassure de t'aider parce ce que je viens de faire le test :
    http://www.developpez.net/forums/sho...d.php?t=369460
    et je me suis pris 2 tôles...

  11. #11
    Expert éminent sénior

    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
    Points : 17 778
    Points
    17 778
    Par défaut
    Citation Envoyé par Raideman
    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
     
         $compteur=0;
         $url='';
         foreach ($_GET as $key=>$var){
                 if($compteur==0){
                     $url.=$key;
                      echo '<br>';
                 }
                 else
                 {
                 $url.="&".$var."=".$key;
                 echo '<br>';
                 }
                 $compteur++;
         }
    echo $url;
    Pour ceux qui utilisent PHP 5, la fonction http_build_query fait tout cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo http_build_query($_GET);
    Sinon vous la trouverez entre autre dans le package PEAR PHP_Compat.


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

Discussions similaires

  1. Comment recuperer la valeur d'un variable dans une methode actionlisner
    Par javacafe dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 22/05/2014, 15h39
  2. Réponses: 2
    Dernier message: 23/12/2012, 15h46
  3. Réponses: 8
    Dernier message: 28/10/2010, 11h11
  4. Réponses: 2
    Dernier message: 05/07/2008, 09h54
  5. [XSD] Pourquoi une URL en tant que XML NameSpace ?
    Par Bayard dans le forum Valider
    Réponses: 2
    Dernier message: 11/12/2006, 11h06

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