Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][PHP]cudzysłów w input - wszechobecne rozwiązanie... nie działa?
--zielony--
post 29.04.2011, 14:47:55
Post #1





Goście







wykonywany kod:
  1. die('<input value="'.htmlentities(' "cudzyslow" ').'" />');

  1. die('<input value="'.htmlspecialchars(' "cudzyslow" ').'" />');


źródło strony wywołanej z dowolnego z powyższych:

  1. <input value=" "cudzyslow" " />


Co więcej, taki sam efekt daje wywołanie:

  1. die('<input value=" &quot; cudzyslow &quot; " />');


Zupełnie nie wiem co jest powodem błędu. Metodą ślepej kury trafiłem jednak na kod, który w przeglądarce wyświetlany jest poprawnie:
  1. die('<input value=" '.htmlentities('&quot; cudzyslow &quot;').' " />');

  1. <input value=" &quot; cudzyslow &quot; " />


Czyli dopiero "podwójne" zakodowanie daje pożądany rezultat. Proszę o wyprowadzenie z mylnego przeświadczenia, że string wystarczy przez funkcję kodującą przepuścić tylko raz, lub o naprowadzenie gdzie szukać błędu. Wszystkie przypadki powtarzają się w najnowszych przeglądarkach Opera, Firefox i Chrome.

Pozdrawiam i czekam na odpowiedź smile.gif
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 19:08