Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MYSQL]Problem ze znakami specjalnymi
Forum PHP.pl > Forum > Przedszkole
Fanel
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...?
l3l0
Witam,

Możliwe że masz problemy z kodowaniem w bazie danych (Zobacz tutaj)

o czym może świadczyć
  1. <meta name="keywords" content="hosting zdjęć, upload zdjęć, darmowy hosting, image hosting, photo upload, upload zdjęć, zdjęcia, zdjęcie, fotka, fotki, obrazki, hosting, hosting obrazk�w, hosting odraz�w, darmowy upload, darmowy hosting obraz�w, darmowy hosting obrazk�w, darmowy hosting fotek, darmowy hosting fotografii, fotografia, fotografie, galeria zdjęć, hosting za darmo, miejsce na fotki, miejsce na zdjęcia, foto, obrazy, darmowy, bezpłatny hosting, bezpłatny, zahostuj, zahostuj.pl, hostuj, host" />


Więcej narazie nie potrafie stwierdzić, przydałby się jakieś logi
Fanel
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ś smile.gif

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 sad.gif

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 : (
patryczakowy
spróbuj użyć przed haschowaniem htmlspecialchars()
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.