Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][PHP]cudzysłów w input - wszechobecne rozwiązanie... nie działa?
--zielony--
post
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ź (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
wNogachSpisz
post
Post #2





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


Jaki ma być rezultat?
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 4.10.2025 - 05:23