Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Polskie fonty formularz->baza danych->html
golab
post
Post #1





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 15.03.2013

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


Witam,

Chciałbym spytać się Was jak sobie radzicie z bezpiecznym przesyłaniem tekstu z formularza.

Ja używam czegoś takiego:


na stronie mam formularz, ustawiłem tam nagłówek:
  1. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

informacje z formularza z tej strony przetwarzam za pomocą:
  1. @$txt = mysql_real_escape_string(htmlspecialchars($_POST['txt'], ENT_SUBSTITUTE, 'UTF-8' ));


tak przygotowaną zmienną wysyłam w zapytaniu MySQL.

w bazie danych mam zdefiniowane kodowanie na utf8_polish_ci

na innej stronie odczytuje te informacje przy pomocy zapytania MySQL.
Później wyświetlam je:
  1. echo nl2br($m['txt'])


Wszystko działa, sposób jest bezpieczny, tylko strasznie krzaczy się na polskich znakach.


Jak Wy sobie z tym radzicie?
Czuję, że problem nie jest w kodowaniu w bazie danych, lecz przy funkcji htmlspecialchars.
Jeżeli ustawię jej flagę w sposób
  1. @$txt = mysql_real_escape_string(htmlspecialchars($_POST['txt'], ENT_IGNORE, 'UTF-8' ));

obcina mi polskie fonty :/
Go to the top of the page
+Quote Post
Turson
post
Post #2





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Zamiast MySQL używaj PDO.
Polskie znaki -> w edytorze tekstów ustawiasz format znaków na UTF-8 bez BOM
Go to the top of the page
+Quote Post
golab
post
Post #3





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 15.03.2013

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


to co piszesz nie rozwiązuje istotny problemu.
zapytanie z PDO czy MySQL - nie ma znaczenia. potrzebuje zabezpieczyć się funkcją podobną do htmlspecialchars(), tylko z polskimi fontami.
i nie potrzebuje nic zmieniać w edytorze tekstu, bo dane wprowadzam nie z edytora tekstu, a z formularza na stronce
Go to the top of the page
+Quote Post
Turson
post
Post #4





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


htmlspecialchars nie ma nic wspólnego z kodowaniem znaków, więc nie gadam głupot.
A z PDO to była rada, bo wtedy nie musisz ani mysql_real_escape_string ani htmlspecialchars...
Go to the top of the page
+Quote Post
golab
post
Post #5





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 15.03.2013

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


no właśnie chodzi o to, że ma i ta część mi się pieprzy...

http://php.net/manual/en/function.htmlspecialchars.php

nawet nazwa ostatniego atrybutu funkcji to encoding...


No ale w takim wypadku ponawiam pytanie - jak Wy zczytujecie i wyświetlacie stringi od użytkowników?
PDO jest całkiem fajny, ale nie będę już przeprojektowywał wszystkiego.

Ten post edytował golab 20.10.2013, 19:45:11
Go to the top of the page
+Quote Post
com
post
Post #6





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


itak bd musiał :

Cytat
This extension is deprecated as of PHP 5.5.0, and will be removed in the future.
wink.gif

po pierwsze var_dump() prawdę Ci powie, a po drugie jak masz złe kodowanie w pliku to źle Ci wyświetla wink.gif
Go to the top of the page
+Quote Post

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 Aktualny czas: 21.08.2025 - 10:29