Aller au contenu

$_GET url 'space'


Sujets conseillés

Posté

Bonjour,

J'ai déja abordé la question dans un autre post, mais ce n'était pas le sujet, donc je n'attendais pas de réponse. Mais là, le problème se pose vraiement.

J'ai des url du type :

http%3A//www.monsite.fr/search%3Fhl%3Dfr%26q%3Dscript+de+merde%26spell%3D1

elles ont été obtenues a l'aide de javascript (fonction escape).

Je voudrait récuperer les infos dans l'url avec un $_GET['q']. Mais rien à faire ça ne lit pas les infos.

Donc j'ai essayé

$qtest=utf8_decode(urldecode($_GET['q']));

Mais pas plus de succès.

Merci de votre aide.

Posté (modifié)

Je crains de n'avoir pas très bien compris quel était ton probléme.

Ces URL te sont passées par argument (ex.: mapage.php?url=monurl) et tu souhaites récupérer des infos dessus ?

Quoi qu'il en soit, jette un coup d'oeil là: http://www.php.net/parse_url (ainsi qu'à la fonction http_explode se trouvant dans les commentaires)

Et plus généralement: http://www.php.net/url

Modifié par WewEB
Posté

Bonjour Weweb,

Mon problème était mal expliqué :

UNe de mes page est affichée, avec comme url :

http%3A//www.monsite.fr/mapage.php?search%3Fhl%3Dfr%26q%3Dscript+de+merde%26spell%3D1

Le script présent dans cette page veut simplement récuperer les infos dans l'url. Je sais qu'on peut travailler avec parse_url() et urldecode (voir un autre de mes posts dans lequel, je crois, tu étais gentiment intervenu).

Mais ma question est de savoir si on peut utiliser un $_GET avec ce genre d'url. Ca serait tellement plus pratique... :P

Posté

Slt,

je ne crois pa avoir compris :

pour avoir une URL comme celle-ci, il faut qu'elle soit dans une variable ?

et alors, tu voudrais faire un $_GET dans une variable ?

Ou alors ton URL est tapée comme ceci directement ? à ce moment là j vois pa pourquoi un $GET['aq']; ne marcherait pa ??

je ne te suis pa....

Posté

Je comprend, c'est assez compliqué :

Dans page1.php, je recupère l'url de la page affichée (avec les variables d'url), et je récupère également le referrer (là aussi avec les variables).

Je traite en JS puis concatene le tout, et appelle en JS une page2.php, via un

<img src=http://www....>

Ma page2.php se retrouve donc avec comme url en barre d'adresse (cas réel) :

http://www.monsite.com/page2.php?x=12345&rech=orig%3D2&id=123&ref=http%3A//www.google.fr/search%3Fhl%3Dfr%26q%3Dsoupe+pistou%26btnG%3DRecherche+Google%26meta%3Dcr%253DcountryFR,

Donc dans ma page2, un $_GET me permet par exemple de remonter 'x', ou 'rech', ou 'id', mais rien à faire pour 'q', qui se trouve dans une partie encodée.

Ai je été plus clair ? je ne suis informaticien à la base (ni après, d'ailleurs) donc je suis assez laborieux...

Posté

Utilise donc la fonction http_decode (trouvable dans les commentaires de la page parse_url) après avoir employé urldecode et parse_url sur $_GET["ref"].

Tu obtiendras un tableau noté $args par exemple et tu pourras alors faire $args["q"]

Posté

Merci Weweb,

Je n'avais pas pensé à utiliser un tableau, mais ça m'ouvre des perspectives !

Je m'y colle !

A +

PS : Donc si je comprend bien, c'est définitivement impossible d'utiliser un $_GET ? c'est votre dernier mot ? :P

Posté

Un $_GET est définitivement inutilisable pour la simple est bonne raison que PHP n'interpréte pas l'url comme un argument. Si tu y tiens vraiment, avec la fonction dont je t'ai parlé précédemment, tu récupéres les arguments que tu mets ensuite dans $_GET... (si vraiment ça te gênes de travailler avec autre chose que $_GET :D)

Mais c'est pas le plus logique....

Posté

Merci Weweb, j'utilise la fonction dont tu as parlé, et du coup, je la mets partout tellement ça marche bien !

Problème résolu !

Bye

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...