Récupérer une URL complète dans variable en php

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par yakipa, 16 Juin 2006.

  1. yakipa
    yakipa WRInaute discret
    Inscrit:
    15 Février 2006
    Messages:
    74
    J'aime reçus:
    0
    Salut,

    j'ai un fichier qui me permet de rediriger une URL

    je fais comme cela :
    -http://www.site.com/go.php?red=https://www.google.fr
    la variable $red me renvoit bien : https://www.google.fr

    Seulement si je fais ca (c'est a dire une URL tres longue avec des param) :
    -http://www.site.com/go.php?red=htt [...] L:fr&q=dvd

    ca ne me renvoit que :
    -https://www.google.fr/search?sourceid=navclient-ff

    Il s'arrete au 1er &

    Vous auriez une astuce ? car je peux pas basculer vers l'url complète
     
  2. Bacteries
    Bacteries WRInaute passionné
    Inscrit:
    27 Mai 2004
    Messages:
    1 253
    J'aime reçus:
    0
    Encore avec une fonction url_encode() ton URL, et au moment de la redirection tu la décode (url_decode()).
     
  3. yakipa
    yakipa WRInaute discret
    Inscrit:
    15 Février 2006
    Messages:
    74
    J'aime reçus:
    0
    En fait cette url sera pas en dur dans une page donc je peux pas l'encoder comme ca

    en gros c pour faire un systeme de tracking que je poserai sur des sites
     
  4. Bacteries
    Bacteries WRInaute passionné
    Inscrit:
    27 Mai 2004
    Messages:
    1 253
    J'aime reçus:
    0
    Bah alors récupère la variable $_SERVER['QUERY_STRING'], supprime le "red=" et redirige sur cette url.
     
  5. yakipa
    yakipa WRInaute discret
    Inscrit:
    15 Février 2006
    Messages:
    74
    J'aime reçus:
    0
    J'y avais pensé ... seulement j'ai d'autres params avant $red :(
     
  6. Bacteries
    Bacteries WRInaute passionné
    Inscrit:
    27 Mai 2004
    Messages:
    1 253
    J'aime reçus:
    0
    bah fais transforme ta chaine. Si ils sont forcément avant &red ça sera facile, sinon faudra analyser la chaine et espérer que l'url sur laquelle tu diriges n'a pas les mêmes.
     
  7. yakipa
    yakipa WRInaute discret
    Inscrit:
    15 Février 2006
    Messages:
    74
    J'aime reçus:
    0
    oui mes autres params seront forcément avant le $red

    ya un moyen de dire "tu recuperes le QUERY STRING apres $red seulement ?
     
  8. Bacteries
    Bacteries WRInaute passionné
    Inscrit:
    27 Mai 2004
    Messages:
    1 253
    J'aime reçus:
    0
    Bah vu que t'as la chaine $_SERVER['QUERY_STRING'], suffit de rechercher la position de red= et de recopier $_SERVER['QUERY_STRING'] a partir de la bonne position.

    J'ai plus les noms de fonctions php en tête mais ça se fait en deux lignes.
     
  9. yakipa
    yakipa WRInaute discret
    Inscrit:
    15 Février 2006
    Messages:
    74
    J'aime reçus:
    0
    je connais pas cette fonction, je vais essayer de regarder dans google
     
  10. Bacteries
    Bacteries WRInaute passionné
    Inscrit:
    27 Mai 2004
    Messages:
    1 253
    J'aime reçus:
    0
    j'ai pas de quoi valider mon code mais en gros :
    Code:
    $pos = strpos('red=', $_SERVER['QUERY_STRING']);
    if ($pos === false)
    {
       # traitement de l'erreur
    }
    else
    {
       $url = substr($_SERVER['QUERY_STRING'], $pos + 4);
       // ta redirection
    }
    
     
  11. yakipa
    yakipa WRInaute discret
    Inscrit:
    15 Février 2006
    Messages:
    74
    J'aime reçus:
    0
  12. Bacteries
    Bacteries WRInaute passionné
    Inscrit:
    27 Mai 2004
    Messages:
    1 253
    J'aime reçus:
    0
    A mon avis t'auras le problème tant que tu fais pas un url_encode sur ton url.

    Affiche $_SERVER['QUERY_STRING'] pour voir ce que tu as vraiment dans cette variable.
     
  13. yakipa
    yakipa WRInaute discret
    Inscrit:
    15 Février 2006
    Messages:
    74
    J'aime reçus:
    0
    Lorsque j'affiche tout j'ai bien tout

    Mais l'url encode ne marchera pas vu que le lien est pas placé en dur
     
  14. serval2a
    serval2a WRInaute accro
    Inscrit:
    21 Mars 2005
    Messages:
    2 550
    J'aime reçus:
    0
    Bonjour,

    Le problème vient du fait que forcément dans ton url les variables que tu utilises et celles de la page que tu veux appeler sont indissociées.
    Comment faire comprendre que la variable $red contient non seulement l'adresse d'une page mais également des variables utiles à la page dont par exemple la varibale $q qui ne doit pas être utilisé par ton script mais quand même incrite dans l'url de destination ?

    Pour faire simple, tu pourrais (je ne connais pas ton script) récupérer chaque variable utile pour l'inscrire dans chaque url de destination, mais cela t'obligerais à utiliser des conditions pour chaque nom de domaine puisque tous n'utilisent pas les mêmes variables.

    La solution semble à mon avis résider plus dans l'utilisation des fonctions serialise() et unserialise() avec le traitement de la seule variable $red.

    @+
     
  15. Serious
    Serious WRInaute passionné
    Inscrit:
    21 Novembre 2005
    Messages:
    1 834
    J'aime reçus:
    0
    ton URL n'est pas valide, utilise urlencode().
    pas d'autre solution.
     
  16. Bacteries
    Bacteries WRInaute passionné
    Inscrit:
    27 Mai 2004
    Messages:
    1 253
    J'aime reçus:
    0
    serval2a> la query_string est peut être beaucoup plus simple non??

    yakipa> Quand tu dis afficher c'est bien $_SERVER['QUERY_STRING']?

    Sinon pas en dur c'est à dire? Dis en plus; car transformer le lien serait plus simple que traiter la chaine.
     
  17. yakipa
    yakipa WRInaute discret
    Inscrit:
    15 Février 2006
    Messages:
    74
    J'aime reçus:
    0
    j'ai fait ca :

    $pos = strpos($_SERVER['QUERY_STRING'],'redi=');
    if ($pos == false)
    {
    //echo $_SERVER['QUERY_STRING'];
    }
    else
    {
    $url = substr($_SERVER['REQUEST_URI'], $pos + 3);
    echo $url;
    // ta redirection
    }
     
  18. Bacteries
    Bacteries WRInaute passionné
    Inscrit:
    27 Mai 2004
    Messages:
    1 253
    J'aime reçus:
    0
    et donc url t'as bien toute ta chaine?

    Si oui tu fais un bête header("location:".$url); et ça devrait marcher, non?
     
  19. yakipa
    yakipa WRInaute discret
    Inscrit:
    15 Février 2006
    Messages:
    74
    J'aime reçus:
    0
    Oui je récupère bien toute la chaine, je vais tester sur plusieurs URL et voir si cela fonctionne

    merci en tout cas pour le tuyau de la position
     
Chargement...
Similar Threads - Récupérer complète variable Forum Date
Refonte complète d'un site : récupérer ou non le NDD ? Débuter en référencement 13 Février 2014
CMS WordPress, récuperer page complète des auteurs Administration d'un site Web 24 Avril 2008
Commande site : monsite.com. Comment récupérer les URL dans un fichier ? Crawl et indexation Google, sitemaps Samedi à 15:19
Récupérer URL destination liste redirection Netlinking, backlinks, liens et redirections 22 Novembre 2021
Récupérer les 10 plus grandes valeurs dans un fichier JSON Développement d'un site Web ou d'une appli mobile 18 Novembre 2021
Js : récupérer un élément dans un array Développement d'un site Web ou d'une appli mobile 23 Octobre 2021
FORMULAIRE FB ADS récupérer les données Facebook 28 Juillet 2021
Récupérer le premier et dernier enregistrement sql Développement d'un site Web ou d'une appli mobile 16 Juillet 2021
Comment récupérer le solde impayé de mon compte Adsense ? AdSense 26 Juin 2021
Search Console Sitemaps non indéxés ""Impossible de recuperer le sitemap" Crawl et indexation Google, sitemaps 23 Juillet 2020
Récupérer backlinks vers liens morts : fausse bonne idée ? Netlinking, backlinks, liens et redirections 6 Avril 2020
Récupérer le contenu d'une vidéo youtube Le café de WebRankInfo 23 Mars 2020
Comment récupérer un compte insta ouvert par un cybersquatteur ? Autres réseaux sociaux 29 Janvier 2020
comment récupérer mon positionnement Problèmes de référencement spécifiques à vos sites 5 Janvier 2020
Attendre des années avant de récupérer l'argent amassé sur adsense AdSense 23 Novembre 2019
Comment récupérer variable dynamique pour GTM ? Google Analytics 30 Septembre 2019
SELECT COUNT avec PDO et récupérer le résultat Développement d'un site Web ou d'une appli mobile 27 Mai 2019
récupérer id en php sans lien Développement d'un site Web ou d'une appli mobile 25 Avril 2019
Récupérer events via API google analytics Google Analytics 6 Avril 2019
Récupérer un numéro d'un paragraphe Développement d'un site Web ou d'une appli mobile 13 Décembre 2018