![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 9.04.2008 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Mam problem dotyczący logowania na mojej stronie internetowej.
Chodzi dokładnie o tą stronę: www.zahostuj.pl W momencie gdy użytkownik założy sobie konto i wprowadzi w haśle znak specjalny np: "!", "@", "#", "{:content:}quot;, "%", rejestracja przebiega pomyślnie, lecz przy próbie zalogowania na konto za pomocą takiego hasła(ze znakiem specjalnym), logowanie nie udaje się. Pojawia się komunikat: "Wprowadziłeś nieprawidłowe dane!", chociaż hasło jest poprawne. Hasła przechowywane są oczywiście w bazie danych. Powiedzcie mi proszę od czego to jest zależne...? Czy to wina bazy, że nie obsługuje tych znaków...? Co mogę zrobić, aby wszystko działało prawidłowo...? Ten post edytował Fanel 28.07.2009, 09:29:01 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 94 Pomógł: 16 Dołączył: 24.07.2009 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Możliwe że masz problemy z kodowaniem w bazie danych (Zobacz tutaj) o czym może świadczyć
Więcej narazie nie potrafie stwierdzić, przydałby się jakieś logi Ten post edytował l3l0 28.07.2009, 09:42:33 |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 9.04.2008 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Dokładnie o tym samym pomyślałem.
Wygląda to tak jakby baza źle interpretowała te znaki specjalne. Dziękuję za linka. Będę w stanie sprawdzić czy pomogło około godziny 17:00 _____________________________________________________ Jest dokładnie tak ja powiedziałeś ![]() Zmieniłem kodowanie całej bazy na: utf8_polish_ci i oto efekt: Poniżej screen z dopisaną linijką mysql_query("SET NAMES 'utf8'"); ![]() Dzięki temu udało mi się zarejestrować użytkownika testowego - jak widać udało się go zarejestrować z polskim znakiem i polskim hasłem(które w bazie zamieniło się w ciąg różnych znaków). Poniżej screen bez dopisanej linijki kodowania: ![]() Jak widać bez tej linijki użytkownik testowy 2 w bazie nie jest już widoczny z polskimi znakami. W pierwszym przypadku jak widać użytkownik w nazwie ma polską literę i w bazie zapisało się to bez problemu. Lecz mimo podania hasła z polską literką lub też bez polskiej literki, ale ze znakiem specjalnym i tak nie udało się zalogować. Cały czas pojawia się komunikat o nieprawidłowym logowaniu ![]() Co mogę jeszcze zrobić...? Dla mnie wygląda tak jakby dane były zapisywane z poprawnym kodowaniem, ale odczytywane są już z jakimś innym. Oczywiście dopiero zaczynam przygodę z PHP więc może to być coś zupełnie innego. Proszę o pomoc : ( Ten post edytował Fanel 28.07.2009, 17:50:12 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 420 Pomógł: 44 Dołączył: 22.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
spróbuj użyć przed haschowaniem htmlspecialchars()
-------------------- Sztuką jest widzieć to czego nie widać.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 12.06.2025 - 19:57 |