Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]problem z hasłem
Forum PHP.pl > Forum > Przedszkole
kmicic25
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.
tomsi
Zamień ' na \" i zobacz czy działa.
vokiel
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');";
kmicic25
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
cojack
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.
kmicic25
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
vokiel
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)
kmicic25
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.
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.