Prosta autoryzacja przez bazę danych w PHP
Zaimplementujmy najprostszą autoryzację na bazie danych, na razie bez rejestracji. Zamiast rejestracji użytkowników, po prostu wpiszemy ich loginy i hasła do tabeli w bazie danych:
| id | login | password |
|---|---|---|
| 1 | user | 12345 |
| 2 | admin | 123 |
Zróbmy teraz formularz, do którego będą wpisywane login i hasło:
<form action="" method="POST">
<input name="login">
<input name="password" type="password">
<input type="submit">
</form>
Napiszmy teraz kod, który będzie sprawdzać, czy formularz został wysłany i, jeśli tak, to sprawdzać, czy w bazie danych jest użytkownik z takim loginem i hasłem:
<?php
if (!empty($_POST['password']) and !empty($_POST['login'])) {
$login = $_POST['login'];
$password = $_POST['password'];
$query = "SELECT * FROM users WHERE login='$login' AND password='$password'";
$res = mysqli_query($link, $query);
$user = mysqli_fetch_assoc($res);
if (!empty($user)) {
// użytkownik autoryzowany
} else {
// nieprawidłowy login lub hasło
}
}
?>
Zaimplementuj opisaną powyżej autoryzację. Zrób tak, aby jeśli użytkownik przeszedł autoryzację - wyświetlała się wiadomość o tym, a jeśli nie przeszedł - to wiadomość o tym, że wprowadzony login lub hasło są nieprawidłowe.
Zmodyfikuj kod tak, aby w przypadku udanej autoryzacji formularz do wpisywania hasła i loginu nie był wyświetlany na ekranie.
Zmodyfikuj kod tak, aby w przypadku udanej
autoryzacji następowało przekierowanie na stronę
index.php.
Zmodyfikuj kod tak, aby na stronie
index.php wyświetlała się wiadomość o
udanej autoryzacji. Rozwiąż zadanie za pomocą
wiadomości flash na sesjach.