OVH Cloud OVH Cloud

Mason, formulaires en POST et codes alphabétiques HTML

1 réponse
Avatar
Bruno Ethvignot
Bonjour,

Lorsque je passe des formulaires en POST et que je récupère les
variables avec la fonction "$m->request_args()" de Mason, ou
en CGI avec "CGI::ReadParse()" les codes alphabétiques HTML sont
automatiquement convertit en caractères simples.

Par exemple si je rentre "é" dans un champs (balise HTML
<input/>), lorsque je lis ma variable je récupère un caractère é


Ce qui est génant c'est qu'à mon humble avis la fonction qui
décode les codes alphabétiques HTML (HTML::Entities je suppose) ne
fonctionne pas correctement. Par exemple si je rentre dans mon champs la
chaîne &eacute= j'obtiens é=

Dans mon cas bien précis mon formulaire HTML contient des URL avec
une "query string". Par exemple la valeur &lang=fr devient (=fr

Donc voilà malgrès mes nombreuses recherches sur le web je n'ai encore
rien trouvé, si quelqu'un a un tuyau je suis preneur.


Merci,
--
Bruno Ethvignot - *bruno* arrobe *tlk* point *fr*
http://mozilla.tlk.fr/contact.php
http://linux.tlk.fr/contact.php

1 réponse

Avatar
Emmanuel Florac
Dans article ,
disait...

Ce qui est génant c'est qu'à mon humble avis la fonction qui
décode les codes alphabétiques HTML (HTML::Entities je suppose) ne
fonctionne pas correctement. Par exemple si je rentre dans mon champs la
chaîne &eacute= j'obtiens é >
Dans mon cas bien précis mon formulaire HTML contient des URL avec
une "query string". Par exemple la valeur &lang=fr devient (=fr



Dans ce cas la solution est très simple : ce n'est pas du HTML valide, il
faut utiliser "&amp;" C'est à dire que

<a href="http://toto/titi?tata=1&zeze=2&roro=3">test</a>

N'est PAS du html valide. D'ailleurs le validateur du w3c ou du WDG te le
diront. Dans ce cas il FAUT utiliser

<a href="http://toto/titi?tata=1&amp;zeze=2&amp;roro=3">test</a>

--
Quis, quid, ubi, quibus auxiliis, cur, quomodo, quando?