![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 3.01.2016 Ostrzeżenie: (0%) ![]() ![]() |
Stworzyłem baze w mysql i strone internetowa . Napisałem system logowania oraz rejestracji . Problem polega na tym ze podczas dodawania nowego uzytkownika wszystkie polskie znaki DZIALAJA POZA JEDNYM "Ó" . Nie wiem co to za magia ... Cała baze razem z tabelami zmienilem na utf 8 za pomoca komendy : ALTER TABLE tabela_name CONVERT TO CHARACTER SET UTF8 COLLATE UTF8_UNICODE_CI . W plikach php mam : header('Content-type:text/html; charset=utf-8'); . Dodatkowo dopisałem : $polaczenie->query("SET NAMES 'utf8' COLLATE 'utf8_polish_ci'"); $polaczenie->query("SET CHARSET utf8") ; . Ale nie wiem czy to jest potrzebne skoro mam header . Pisze w NetBeans w ktorym to w pliku netbeans.conf dopisałem -J-Dfile.encoding=UTF-8 w odpowiednie miejsce . Wykorzystuje ochrone przed wstrzykiwaniem sql mysqli_real_escape_string ale nie wiem czy to moze byc problemem. Nie mam juz pomysłów . Dopiero sie ucze i jest to moja pierwsza baza oraz strona . Z góry dziękuje bardzo za pomoc !
![]() |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 875 Pomógł: 230 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
Chaotycznie napisałeś, wrzuć po prostu kod tutaj.
Nie powiedziałeś jakie kodowanie mają pliki strony? bo być może mają kodowanie UTF-8 BOM albo ASCII zamiast UTF-8 without BOM. Jak się uczysz tworzenia stron z wykorzystaniem baz danych, to zainteresuj się PDO, takie funkcje jak mysqli_real_escape_string będą zbyteczne. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 3.01.2016 Ostrzeżenie: (0%) ![]() ![]() |
Sprawdzilem pliki i mam tylko jedną opcje do wyboru z utf8 , nie mam ani utf8 with bom ani utf8 without bom , same utf8 . |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 378 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
A co zwracają wartości po htmlentities?
Bindowanie rób przez http://php.net/manual/en/mysqli.prepare.php -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 3.01.2016 Ostrzeżenie: (0%) ![]() ![]() |
Poprawne nazwy , błąd jest gdzie indziej
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 378 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Nie chodzi mi o nazwy tylko jakie masz wartości na tym etapie. Czy echo $login; zwraca to co ma zwrócic?
Już pomijając bezsens tego kawałka kodu (wygląda jak mix funkcji sprzed 10 lat dopasowany do teraźniejszości) to powinieneś uzywać http://php.net/manual/en/function.password-hash.php Pokaż też kod create tabeli -------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 1 875 Pomógł: 230 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
Korzystaj z edytorów takich jak Notepad++ lub Sublime. Tam jest zapis kodowania pliku bez BOM.
mysqli_real_escape_string() jest marnym zabezpieczeniem a usuwanie zmiennych w unset możesz używać szeregowo unset($zmiennaA, $zmiennaB, $zmiennaC, ...) header('Content-type:text/html; charset=utf-8'); jest zbędny, wcale nie daje ci szans że skrypt obsługuje UTF-8, bo dane które wysyłasz do skryptu muszą być w kodowaniu UTF-8. Dlatego są moje naciski o to kodowanie bez BOM, ponieważ z BOM w nagłówku są 3 niewidoczne znaki, które powodują (acz nie zawsze) że kodowanie strony się zmienia na inne niż jest w nagłówku. |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
ono sie nie zmienia tylko plik ma białe znaki które wysyła do przeglądarki przed przetworzeniem skryptu php i rzuca potem notice itp
![]() |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 3.01.2016 Ostrzeżenie: (0%) ![]() ![]() |
Problem rozwiązała biblioteka PDO , zacnie
![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 05:50 |