OVH Cloud OVH Cloud

probleme de requete

4 réponses
Avatar
Saad Saad
Bonjour,

dans un formulaire de recherche, j'encode l'argument suivant : bb


dans la page de résultat la requête m'affiche la réponse suivante :
...LIKE '>>%' au lieu de '%bb%'

Dans la barre d'adresse tout ce passe pourtant bien LIKE%20'%bb%'

Je suppose qu'il faut passer ma variable par une fonction PHP avant de
faire la requête, mais laquelle ?


QUID ?

4 réponses

Avatar
Antoun
je ne suis pas sûr de tout comprendre, mais il me semble que url_encode
et url_decode devraient faire ton bonheur...
Avatar
Olivier Miakinen

dans la page de résultat la requête m'affiche la réponse suivante :
...LIKE '>>%' au lieu de '%bb%'


Tiens, tiens ! Ce ne serait pas plutôt '»%' ? Ce serait plus logique, vu
que le caractère » se trouve à la position 187, soit bb en hexa, et donc
%bb une fois encodé dans une url.

Dans la barre d'adresse tout ce passe pourtant bien LIKE%20'%bb%'


Ben oui. %20 = espace, %bb = guillemet fermant.

Je suppose qu'il faut passer ma variable par une fonction PHP avant de
faire la requête, mais laquelle ?


http://fr.php.net/urlencode

Avatar
Saad Saad
Salut,

Désolé de revenir la-dessus mais cela ne fonctionne toujours pas.
J'ai bien utilisé urlencode() / urldecode() mais il m'affiche toujours '»%'.

Quand j'utilise urlencode, avant de passer dans l'url il code bien les
espaces par des + et tout et tout.

Mais arrivé dans la page suivante, il décode bien excepté ce '%bb%'
qu'il affiche toujours '»%'.

--
Saad Saad




dans la page de résultat la requête m'affiche la réponse suivante :
...LIKE '>>%' au lieu de '%bb%'



Tiens, tiens ! Ce ne serait pas plutôt '»%' ? Ce serait plus logique, vu
que le caractère » se trouve à la position 187, soit bb en hexa, et donc
%bb une fois encodé dans une url.


Dans la barre d'adresse tout ce passe pourtant bien LIKE%20'%bb%'



Ben oui. %20 = espace, %bb = guillemet fermant.


Je suppose qu'il faut passer ma variable par une fonction PHP avant de
faire la requête, mais laquelle ?



http://fr.php.net/urlencode



Avatar
Olivier Miakinen
Le 16/12/2004 09:30, Saad Saad m'a répondu en porcinographiant :

Désolé de revenir la-dessus mais cela ne fonctionne toujours pas.
J'ai bien utilisé urlencode() / urldecode() mais il m'affiche toujours '»%'.

Quand j'utilise urlencode, avant de passer dans l'url il code bien les
espaces par des + et tout et tout.


Et les % par des %25 ?

Mais arrivé dans la page suivante, il décode bien excepté ce '%bb%'
qu'il affiche toujours '»%'.


Tu ne dois pas avoir '%bb%' dans la chaîne encodée, mais '%25bb%25'.
C'est donc l'appel à urlencode qui n'a pas marché : tu lui passes bien
le bébé ? euh... le %bb% ?

[porcinographie de la plus belle eau]



-- soupir --

--
Olivier Miakinen
Non, monsieur le juge, je vous le jure : jamais je n'ai cité
Bruxelles dans ma signature.