Comment gérez-vous les & dans les url - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : Comment gérez-vous les & dans les url (/showthread.php?tid=6080) Pages :
1
2
|
Comment gérez-vous les & dans les url - php_addict - 15-04-2012 Bonsoir Comment gérez-vous (encodez-vous) les & dans les url (ou comment vos framework gèrent cela) exemple: monurl?php¶m=123 est inexact il faut monurl?php&param=123 passez-vous vos url dans une moulinette, si oui avec quel type d'encodage? Quel encodage est il le meilleur? -> monurl?php&param=12 (encodage xhtml) -> monurl%3Fphp%26param%3D123 (encodage selon la RFC 3986) quel impact d'un point de vue SEO (Search Optimization Engine) ? Bonne fin de week end... RE: Comment gérez-vous les & dans les url - Argorate - 15-04-2012 Il y a http://php.net/manual/fr/function.htmlspecialchars.php ou un simple str_replace()... Je ne vois pas bien le problème que tu as en fait? peux-tu reformuler? RE: Comment gérez-vous les & dans les url - niahoo - 15-04-2012 Je ne crois pas que ce soit "inexact" comme tu dis, au contraire. Et si c'est le cas, tant pis, je ne me pose pas le prolème Ceci dit dans le code que je produis je ne m'en sert jamais. généralement ça sera monurl/php/123 RE: Comment gérez-vous les & dans les url - php_addict - 15-04-2012 (15-04-2012, 08:22 PM)niahoo a écrit : Je ne crois pas que ce soit "inexact" comme tu dis, au contraire. le w3c dit Citation :If you want to use a literal ampersand in your document you must encode it as "&" (even inside URLs! ce n'est pas que je veuille faire un site conforme 100% au w3c mais dans la mesure du possible je préférerais (au moins pour ma home page) RE: Comment gérez-vous les & dans les url - Sephi-Chan - 15-04-2012 Dans la majorité des cas, j'ai des URL propres. Sinon, Rails encode les URL pour moi.
Le code source généré est : Citation :<a href="http://localhost:3000/users/1?bar=Bar+%26+foo&foo=Foo+%26+bar">Foo</a> En PHP from scratch, tu dois faire :
RE: Comment gérez-vous les & dans les url - niahoo - 15-04-2012 oui voila tu dois encoder tes '&' quand ils font partie des données que tu transmets, mais pas ceux qui servent à délimiter les champs qui font partie de la syntaxe. RE: Comment gérez-vous les & dans les url - Sephi-Chan - 15-04-2012 En fait, tous les & doivent être encodés. Ceux contenus dans les valeurs des paramètres doivent êtres URL encodés. Ceux qui séparent ces paramètres doivent être encodés en entités HTML. RE: Comment gérez-vous les & dans les url - niahoo - 16-04-2012 Bizzare, la pluspart des softs (y compris ce forum) ne prennent pas cette peine. bon ça marche quand même hein :] RE: Comment gérez-vous les & dans les url - Sephi-Chan - 16-04-2012 Le second encodage est uniquement "cosmétique", pour être valide. RE: Comment gérez-vous les & dans les url - php_addict - 16-04-2012 Merci pour vos avis, je ne suis pas certain de comprendre 2 ou 3 trucs... 1) est ce que le séparateur '&' doit toujours être écrit '&' même dans cet exemple suivant ou c'est juste pour l'affichage html? Citation :<?php 2) je viens d'apercevoir qu'il y a plusieurs séparateurs valides: sub-delims = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "=" Y-a-t il une différence entre tout ces séparateurs? 3) donc faut que je passe toutes mes url dans une moulinette du genre ?:
|