OVH Cloud OVH Cloud

urlencode

10 réponses
Avatar
Etienne SOBOLE
salut.

question tout bete....
quand faut il encoder les urls ?

j'entends par la est ce que
<form action='test.php?value=ma valeur' ...>

doit etre remplacé par
<form action='test.php?value=ma%20valeur' ...>

est ce similaire?
y en a t-il une qui est mieux que l'autre?

merci
Etienne

PS : meme question pour un <a href='xxxx' ....

10 réponses

Avatar
Etienne SOBOLE
bon je tiens a dire que tout ce qui a été dit dans ce post, a defaut d'etre
faux doit tout de meme être pris avec des pincettes.

j'ai une url du type
test.php?value=voila-un-/-qui-va-bien

j'ai donc remplacé par (enfin c'est urlencode qui l'a fait !!!)

test.php?value=voila-un-%252-qui-va-bien

et bien la, rien ne va plus,
je ne recupère pas du tout le meme chose...
c'est pas cool du tout !

voila
Etienne
Avatar
Steph.K
Etienne SOBOLE a écrit :
bon je tiens a dire que tout ce qui a été dit dans ce post, a defaut d'etre
faux doit tout de meme être pris avec des pincettes.

j'ai une url du type
test.php?value=voila-un-/-qui-va-bien

j'ai donc remplacé par (enfin c'est urlencode qui l'a fait !!!)

test.php?value=voila-un-%252-qui-va-bien

et bien la, rien ne va plus,
je ne recupère pas du tout le meme chose...
c'est pas cool du tout !



Et la doc elle dit quoi ? Par hasard elle ne parlerait pas d'une
fonction qui s'appellerait urldecode() et qui ferait le boulot inverse ?

--
Steph.K
http://www.acces-pour-tous.net
http://validateur-accessibilite.apinc.org/
Avatar
Bobe
Etienne SOBOLE nous a dit le 30.07.2005 17:01:

j'ai une url du type
test.php?value=voila-un-/-qui-va-bien

j'ai donc remplacé par (enfin c'est urlencode qui l'a fait !!!)

test.php?value=voila-un-%252-qui-va-bien

et bien la, rien ne va plus




urlencodé, ça devrait donner ça:
test.php?value=voila-un-%25-qui-va-bien

Il y a un 2 en trop dans ta chaîne résultante, à moins que ce ne soit
une erreur de frappe.

--
Aurélien Maille

"la vie d'un geek est un combat perpétuel contre l'imperfection"
Avatar
Etienne SOBOLE
Et la doc elle dit quoi ? Par hasard elle ne parlerait pas d'une fonction
qui s'appellerait urldecode() et qui ferait le boulot inverse ?



mouaip...
mon probleme origanl étant d'arriver à passer une simple ' dans une url (se
trouvant elle meme ecrite entre ')
je trouve que l'encodage est trop chiant à gérer.
pour le moment tout marche sans encoder... c'est le navigateur visiblement
qui encode...

les deux seuls cas problematiques que j'ai trouvé est celui de la ' et celui
d'une variable finissant par un espace.

bref...
l'encodage et le decodage est un boulot trop compexe au stade ou j'en suis.
les tests arrières sont trop complexes à mettre en oeuvre.
je vais donc laisser tomber...

Etienne
Avatar
Etienne SOBOLE
urlencodé, ça devrait donner ça:
test.php?value=voila-un-%25-qui-va-bien



peut etre mais c'est pas le cas.
peut etre est un / UTF-8 !!!

Il y a un 2 en trop dans ta chaîne résultante, à moins que ce ne soit
une erreur de frappe.



non non.
Etienne
Avatar
Bobe
Etienne SOBOLE nous a dit le 30.07.2005 18:16:

peut etre est un / UTF-8 !!!




Non car UTF-8 est un sur-ensemble de ascii et le slashe fait partie de
l'ascii.

Et tu obtiens ce résultat avec urlencode() de PHP ? Si oui, que donne
rawurlencode() ? Quelle version de PHP ? (Si PHP, peut-être poursuivre
cette discussion sur fr.comp.lang.php ?)

--
Aurélien Maille

"la vie d'un geek est un combat perpétuel contre l'imperfection"
Avatar
Patrick Mevzek
Le Sat, 30 Jul 2005 17:01:02 +0200, Etienne SOBOLE a écrit :

bon je tiens a dire que tout ce qui a été dit dans ce post,



Pourquoi entamer un nouveau fil ?

a defaut d'etre faux



Peut-on savoir ce qui est faux ?

j'ai une url du type
test.php?value=voila-un-/-qui-va-bien

j'ai donc remplacé par (enfin c'est urlencode qui l'a fait !!!)

test.php?value=voila-un-%252-qui-va-bien



Vu qu'il ne peut y avoir que deux caractères après le %, votre %252
correspond à %25 d'une part et 2 d'autre part, et le caractère qui a
comme code hexadécimal 25 en UTF-8 (ou ASCII donc ici, vu la place),
c'est le % lui-même.
Donc ce que vous avez encodé c'est cette chaine de caractères:
test.php?value=voila-un-%2-qui-va-bien

qui ne m'a pas l'air d'avoir un rapport avec celle citée préalablement.

D'autre part, dans la partie ``query string'', le / ne jour pas de rôle
particulier, je pense que vous pouvez même le laisser tel quel.
Ou sinon %2F donc.

je ne recupère pas du tout le meme chose...



Ce qui est tout à fait le résultat escompté compte-tenu des
observations qui précèdent.

--
Patrick Mevzek . . . . . . Dot and Co (Paris, France)
<http://www.dotandco.net/> <http://www.dotandco.com/>
Dépêches sur le nommage <news://news.dotandco.net/dotandco.info.news>
Avatar
ASM
Etienne SOBOLE wrote:
urlencodé, ça devrait donner ça:
test.php?value=voila-un-%25-qui-va-bien




peut etre mais c'est pas le cas.
peut etre est un / UTF-8 !!!



arrivant à la fumée des cierges et pour simplifier les choses
en JS, sans docType ni type mine

j'obtiens :
test.php%3Fvalue%3Dvoila-un-/-qui-va-bien
avec :
alert(escape('test.php?value=voila-un-/-qui-va-bien'));

et j'obtiens :
test.php%3Fvalue%3Dvoila-un-/-qui-va%27bien
avec :
alert(escape('test.php?value=voila-un-/-qui-va'bien'));

tests FF, IE, Opera

après ... que va en faire php urldecode ?


--
Stephane Moriaux et son [moins] vieux Mac
Avatar
Steph.K
ASM a écrit :
--
Steph.K
http://www.acces-pour-tous.net
http://validateur-accessibilite.apinc.org/

après ... que va en faire php urldecode ?



Avec php
$test="test.php?value=voila-un-/-qui-va-bien";

$test=urlencode($test);
echo "$test"; ==> test.php%3Fvalue%3Dvoila-un-%2F-qui-va-bien

$test=urldecode($test);
echo "$test"; ==> test.php?value=voila-un-/-qui-va-bien

--
Steph.K
http://www.acces-pour-tous.net
http://validateur-accessibilite.apinc.org/
Avatar
Thibaut Allender
On 30/07/2005 21:08, ASM wrote :
et j'obtiens :
test.php%3Fvalue%3Dvoila-un-/-qui-va%27bien
avec :
alert(escape('test.php?value=voila-un-/-qui-va'bien'));

après ... que va en faire php urldecode ?



pas grand chose si on encode le "?" et le "=" avec...

--
thibaut allender | http://capsule.org | http://photo.capsule.org