[PHP] Logowanie + rejestracja


(Wesseb) #1

(kalamita) #2
  1. Nie prze-parsowałeś uzyskanych danych od użytkownika pod kątem zawierania np. kodu JavaScript lub innych niebezpiecznych elementów.

  2. słowo LIKE w kwerendzie SQL powoduje wyszukanie wszystkich podobnych do poszukiwanej frazy a nie dokładnie tego czego szukasz

  3. Dlaczego wykonujesz dwie kwerendy żeby pobrać z bazy danych nazwę użytkownika i jego hasło ? Przecież można (a nawet powinno się) to zrobić za pomocą jednej.

  4. Hasła logowania i nazwy użytkownika serwera bazodanowego NIE powinno się trzymać w kodzie. Najlepiej w zewnętrznym pliku poza strukturą public_html


(Wesseb) #3
  1. Tak jak wspominałem jestem nowy w tym i nie zabardzo znam javascript. By był potrzebny tutorial.

  2. Rozumiem, czy jest możliwość żeby tylko wyszukiwało podaną frazę z $_POST w bazie MySQL?

  3. Nie wiem czemu :stuck_out_tongue: ale zrobie tak jak mówisz.

  4. Serwer jest postawiony na moim komputerze więc jak będzie trzeba to zmienie.


(kalamita) #4

Np. coś takiego :

$nazwaUzytwkonika = trim(htmlspecialchars($_POST['nazwaUzytkownika']));

$hasloUzytkownika = trim(htmlspecialchars($_POST['hasloUzytkownika']));


$sql = "SELECT nazwaUzytkownika, hasloUzytkownika FROM daneUzytkownikow WHERE nazwaUzytkownika = '$nazwaUzytkownika' AND hasloUzytkownika = '$nazwaUzytkownika' LIMIT 1";


$wynik = mysql_query($sql);

i dane już sprawdzasz czy otrzymałeś jakieś dane z bazy (użytkownik podał poprawne dane i może zostać zalogowany) lub nie otrzymałeś żadnych danych (użytkownik podał niepoprawne dane) i nie można zalogować użytkownika.

To tak w największym skrócie.

Kod pisane z palca, więc gdzieś mogłem się walnąć.


(Wesseb) #5

(Janek Max) #6

(kalamita) #7

tak jak reyder pisze wywołanie session_start() MUSI byś zawsze na początku każdego pliku PHP w którym będziesz operował zmiennymi zapisanymi w sesji.

Zmień to na początek a wszystko powinno zadziałać dobrze.


(Wesseb) #8

Dziękuje wam za pomoc :wink: Problem zniknął.