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
modern-web
post
Post #2





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

Ostrzeżenie: (0%)
-----


Przepisz tę wartość do zmiennej i wtedy zastosuj owe funkcje.
Potem wykorzystaj fragment:
  1. die('<input value='.$cudzyslow.' />');

Nie wiem po co ale w Twoim przykładzie jest pełno pustych ciągów (patrz ilość cudzysłowów).
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: 5.10.2025 - 14:32