8797 sujets

Développement web côté serveur, CMS

a écrit :
L'URL transforme les espaces en '+", conserve les tirets "-" MAIS transforme le "&" en "%26".
Mais du coup, la fiche de l'objet de la BDD ne correspond pas, et la variable créée pour récupérer la variable dans l'url ne fonctionne pas et la fiche ne s'affiche pas!

C'est sans doute moi qui ai du mal mais j'ai rien compris Smiley lol

quand tu dis "l'url transforme" c'est avec la fonction urlencode() ?
Modifié par BlueScreenJunky (15 Aug 2012 - 08:18)
Moi non plus je n’ai pas tout compris, mais en général pour passer des caractères accentués ou des & dans les URL on utilise la fonction urlencode et pour lire une URL sa fonction réciproque urldecode.
Une fois que tu récupères blabla%26bloblo je pense qu'il suffit de le passer dans urldecode().
En principe urldecode('blabla%26bloblo') donnera blabla&bloblo .
Juste vérifier que ce que tu attends EST ce que tu as, par différents tests. is_int si tu attends un nombre, une regex si tu attends une chaine de caractere précise, etc etc
Rassure-moi. Ne sais-tu vraiment pas ce que l’utilisateur est censé rentrer Smiley sweatdrop ? J’espère qu’au moins tu as une liste de caractères autorisés avec une longueur minimale ou maximale autorisée. Avec ça tu peux déjà vérifier le champ avec une expression régulière.
Hello,

Tu as dis en haut, que les IDs récupérés à partir de ta base de données étaient injectés dans des champs de formulaire comme ceci :
<option value = <php echo $recupe_objet ?><php echo $recupe_objet ?</option>

Est-tu obligé de récupérer tes variables en $_GET ? Sais-tu que l'attribut "method" de ton formulaire te permet de récupérer en $_POST tous les champs de ton formulaire ? Tu t'embêteras plus avec ton problème d'URL.

Bye !