-
Problème encodage url
Bonjour à tous,
J'ai un petit problème d'encodage d'url.
Je donne la possibilité aux utilisateurs, après affichage d'une requête de trier sur les différents champs et d'afficher les pages (20 enr par page).
Pour celà je dois renvoyer dans l'url les critères d'origine.Mais lorsque le critère est du style :
and code like '%5233%'
malgré l'utilisation d'urlencode et urlencode je retrouve:
and code like \'R33%\'
Quelqu'un aurait la solution.
Merci D'avance
-
j'avoue ce n'est pas une solution mais un contournement
pourquoi ne pas passer ta requête en session?
ainsi plus de problème d'encodage ;)
et ça permet de plus d'éviter que l'utilisateur puisse s'amuser à lancer toutes les requêtes qu'il veut en bidouillant l'url
tu fais un urlencode pour créer l'url complet et un urldecode en récupérant la valeur dans $_GET ?
ou
tu fais rien de particulier pour créer l'url complet et un urldecode en récupérant la valeur dans $_GET?
(l'un ou l'autre ça donne la même chose?)
(tu peux toujours passer en mode bourrin et rajouter un encodage par dessus pour le caractère % :) mais c'est peut être horrible.. )
-
Merci pour ta réponse;
Effectivement si je ne trouve pas mon problème je vais passer par les sessions,mais bon je pense que j'ai du faire une erreur quelque part et ça ne me satisfait pas de tourner le problème.
-
Apparement j'ai trouvé une solution qui marche:
J'encode mon critère:
-$crit=urlencode($crit);
puis pour retrouver mon critère utilsable dans le requête je le decode de cette manière:
-$crit=stripslashes(htmlentities($_GET['crit_get']));
Je pensais que urldecode le faisait mais apprement non.
Si quelqu'un à l'explication...
Merci à ceux qui m'ont répondu
-
Les données transitant par la méthode GET sont déjà décodées, ce qui est normal donc il est inutile de leur appliquer urldecode.