[PHP] Paramètre contenant caractère spécial

Fermé
Rem's Messages postés 64 Date d'inscription vendredi 12 septembre 2003 Statut Membre Dernière intervention 8 mai 2007 - 7 févr. 2005 à 21:54
 Rem's - 9 févr. 2005 à 14:47
Bonjour,

J'essaye de faire passer par l'intermédiaire d'un lien des variables à un autre script et le problème est que sur certains liens le caractère '&' est présent. Ce qui a pour incidence de me rajouter un variable (qui n'existe pas) dans mes paramètres.
En modifiant par le code html le prob est le même puisque le code contient aussi le caractère &. Donc, une solution de contournement que j'ai trouvé est de par exemple remplacer dans mon lien le & par #xy# par exemple ou tout autre chaine pas courante, puis de refaire l'inverse dans le script qui récupère les variables mais c'est pas très propre.

Existerait-il une autre solution?

Merci.
A voir également:

2 réponses

jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 934
8 févr. 2005 à 05:59
Salut,
quel langage utilises-tu?
Sous PHP, tu peux utiliser
rawurlencode et rawurldecode
http://php.belnet.be/manual/en/function.rawurlencode.php
exemple:
johand@horus:~/tmp$ cat test.php
<?php
$url1="http://monsite/moncgi?myvar=";
$url2="descaractèresnonalphanumériques:?&";
print("$url2\n");
$res= rawurlencode($url2);
printf("%s%s\n", $url1, $res);
?>
johand@horus:~/tmp$ php test.php
descaractèresnonalphanumériques:?&
http://monsite/moncgi?myvar=descaract%E8resnonalphanum%E9riques%3A%3F%26
johand@horus:~/tmp$


Johan
0
Merci pour ta réponse, c'est exactement ce qu'il me fallait. En attendant, je m'etais fait un script avec un ereg replace qui permettait de faire la même chose mais en plus compliqé à gérer.
0