Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]problem z hasłem
kmicic25
post
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 1.02.2008

Ostrzeżenie: (0%)
-----


Witam
Pracuje nad systemem logowania do strony www.
No i wyszedl problem.

Próbuje wysłac zapytanie z php o nr id uzytkownika.
Zaczęło się ze zapytanie $sql = "select customerid from customer where username='Admin' AND password='1111'"; nie działało.
Wiec sprawdzam
$sql = "select customerid from customer where username='Admin'"; ----- działa
$sql = "select customerid from customer where password='1111'"; ----- nie działa:(

Hasła do bazy i tworzenie połaczenie chyba ok bo jak pytam o username to odpowiada.

Z poziomu phpMyAdmin działaja wszystkie trzy.

Proszę o sugestie.
Go to the top of the page
+Quote Post
tomsi
post
Post #2





Grupa: Zarejestrowani
Postów: 379
Pomógł: 45
Dołączył: 30.06.2007

Ostrzeżenie: (10%)
X----


Zamień ' na \" i zobacz czy działa.
Go to the top of the page
+Quote Post
vokiel
post
Post #3





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

Ostrzeżenie: (0%)
-----


Przede wszystkim hasło w bazie przechowuj zahashowane np sha1

  1. INSERT INTO `customer` (`customerid`,`username`,`password`) VALUES (NULL,'Vokiel',sha1('ultratajnehaslo');

Sprawdzanie logowania:
  1. $sql = "SELECT `customerid` FROM `customer` WHERE `username`='Vokiel' AND password=sha1('ultratajnehaslo');";
Go to the top of the page
+Quote Post
kmicic25
post
Post #4





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 1.02.2008

Ostrzeżenie: (0%)
-----


tez nie działa:(

wyrzucilem zapytanie na echo i wyglada ok.

select customerid from customer where password="1111"

po skopiowaniu do phpmyadmin działa a z php nie chce:(

Pozdrawiam

Ten post edytował kmicic25 30.09.2009, 09:52:19
Go to the top of the page
+Quote Post
cojack
post
Post #5





Grupa: Zarejestrowani
Postów: 898
Pomógł: 80
Dołączył: 31.05.2008

Ostrzeżenie: (20%)
X----


Ty chyba kolego czegoś nie rozumiesz, nie przechowywujemy haseł w postaci plain/text tylko w postaci sumy jakiegoś algorytmu szyfrującego, czyli jak ktoś wpisze login i hasło w formularzu żeby się zalogować, sprawdzasz czy w bazie istnieje taki login i hasło za pomocą SELECT, prosty przykład masz podany na górze. Jeżeli jest taki rekord to święto lasu, nie to out.
Go to the top of the page
+Quote Post
kmicic25
post
Post #6





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 1.02.2008

Ostrzeżenie: (0%)
-----


Rozumiem to
Wpisałem tak jak zaleciłeś.

jak pisze
$sql = "SELECT customerid FROM customer WHERE username='Admin';"; ---- działa
a jak
$sql = "SELECT customerid FROM customer WHERE username='Vokiel';"; ----nie działa

Juz sam nie wiem co robie nie tak.

251 Admin
250 Vokiel

Moze to coś z ustawieniami kodowania znaków

Oba zapytania działają pod phpmyadmin'em

Ten post edytował kmicic25 30.09.2009, 10:18:46
Go to the top of the page
+Quote Post
vokiel
post
Post #7





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

Ostrzeżenie: (0%)
-----


Jeśli działa w PMA a nie w PHP to znaczy, że coś pomieszałeś z cudzysłowami, apostrofami, źle łączysz się z bazą etc.

Jeśli piszesz, że nie działa to podaj dokładnie co nie działa (czyt. zwracany błąd)
Go to the top of the page
+Quote Post
kmicic25
post
Post #8





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 1.02.2008

Ostrzeżenie: (0%)
-----


Witam

Sprawa się wyjasniła

Firma hostingowa coś namieszała i po prostu widziałem dwie bazy.
Inna gdy łączylem sie przez phpMyAdmin a inna przez php.

Pozdrawiam

Dzięki za pomoc.

Ten post edytował kmicic25 30.09.2009, 13:23:49
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 18:06