Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MYSQL]Problem ze znakami specjalnymi
Fanel
post 28.07.2009, 09:26:27
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
Go to the top of the page
+Quote Post
l3l0
post 28.07.2009, 09:32:44
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ć
  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

Ten post edytował l3l0 28.07.2009, 09:42:33
Go to the top of the page
+Quote Post
Fanel
post 28.07.2009, 17:49:12
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ś 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 : (

Ten post edytował Fanel 28.07.2009, 17:50:12
Go to the top of the page
+Quote Post
patryczakowy
post 28.07.2009, 17:54:14
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ć.
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 Wersja Lo-Fi Aktualny czas: 12.06.2025 - 19:57