Autor Zpráva
gibis
Profil *
Dobrý den. Snažím se vygenerovat formulář v php, který má v input type hidden hodnotu obsahující speciální znaky. Aby to mohlo fungovat jako html kód tak to musím nějak zakódovat. Podle manuálů jsem použil urlencode, ale po odeslání formuláře jsou v $_POST jen enkodovaná data. Přitom pokud vyplním nějaké pole manuálně a odešlu formulář, tak jsou ta pole už dekodovaná. Enctype "application/x-www-form-urlencoded" formuláře by měl zapříčinit enkodování všech vstupů formuláře tak proč jsou automaticky dekodovaná jen data z uživatelského vstupu? Jak se to dá spravit aniž bych musel vědět, které pole je hidden?
Alphard
Profil
urlencode() je podle manuálu pro url. Pro html kontext použijte klasické htmlspecialchars($string, ENT_QUOTES).
gibis
Profil *
No jo, tohle funguje, díky, mě zmátlo u urlencode toto: It is encoded the same way that the posted data from a WWW form is encoded, that is the same way as in application/x-www-form-urlencoded media type.. Takže jestli to dobře chápu, tak htmlspecialchars ovlivňuje v tomto případě jen lokální zobrazení. Pošlou to ale všechny prohlížeče dekódované?
ShiraNai7
Profil
gibis:
Pošlou to ale všechny prohlížeče dekódované?

Ano měly by.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0