Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Polskie fonty formularz->baza danych->html
Forum PHP.pl > Forum > PHP
golab
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 :/
Turson
Zamiast MySQL używaj PDO.
Polskie znaki -> w edytorze tekstów ustawiasz format znaków na UTF-8 bez BOM
golab
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
Turson
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...
golab
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.
com
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
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.