virgules dans url

Invité
Invité n'ayant pas de compte PHPfrance

03 févr. 2009, 21:02

Bonjour à tous,

Je souhaite savoir si ça pose un problème d'avoir des virgules dans la valeur d'une varible d'url.
Par exemple:
$couleurs = "rouge,bleu,vert,jaune";

Si je fais:
$url = "index.php?couleurs=" . $couleurs;

La valeur de la variable sera-t-elle récupérable et traitable correctement?
Merci pour vos réponses.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

03 févr. 2009, 22:53

Il n'y a pas de soucis à ma connaissance... au pire tu peux utiliser un urlencode() pour passer ta chaine dans l'url et être tranquile, mais ça n'a rien d'une obligation :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

ViPHP
AB
ViPHP | 5818 Messages

04 févr. 2009, 03:56

"rouge,bleu,vert,jaune" va être traité comme une chaine de caractères ni plus ni moins donc pas de problèmes particuliers. Il en serait autrement si tu faisais "rouge&bleu&vert&jaune"... Donc comme l'a dit Ryle si tu veux passer n'importe qu'elle chaine sans soucis tu utilises urlencode() et urldecode() mais dans ce cas précis ce n'est pas nécessaire.

Mammouth du PHP | 2937 Messages

04 févr. 2009, 11:31

De plus, côté référencement, il n'y a pas de contre-indications à l'emploi de la virgule, qui est reconnue par les moteurs de recherche comme un séparateur de mots. ;)

C'est donc tout bénéfice. :)

Invité
Invité n'ayant pas de compte PHPfrance

04 févr. 2009, 12:25

Merci pour vos réponses.
Dans ce cas, je coirs avoir un petit problème.
J'ai un formulaire comme ceci:
<form name="categoryCheck" id="categoryCheck" action="index.php"  method="get">
<input type="text" id="catArray" name="catArray" value="rouge,vert,bleu"/>
<input type="submit" value="valider" />
</form>
Quand je valide mon formulaire, j'ai une url comme ceci:
index.php?catArray=rouge%2Cvert%2Cbleu

Les virgules sont remplacées par des %2C.
Voyez vous d'ou ça pourrait venir?

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

04 févr. 2009, 12:32

Le zoziau et AB t'ont parlé des fonctions urlencode() et urldecode().

As-tu regardé leur documentation ?... ;)