Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [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
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
--zielony--
post
Post #3





Goście







Cytat(wNogachSpisz @ 29.04.2011, 17:37:40 ) *
Jaki ma być rezultat?


Rezultatem powinno być pole tekstowe z poniższym ciągiem jako jego wartość:

Kod
"cudzyslow"
Go to the top of the page
+Quote Post
modern-web
post
Post #4





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

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: 22.08.2025 - 12:54