Jednoduchá autorizace přes databázi v PHP
Pojďme implementovat nejjednodušší autorizaci na bázi databáze, zatím bez registrace. Místo registrace uživatelů je jednoduše zadáme jejich přihlašovací jména a hesla do tabulky v databázi:
| id | login | password |
|---|---|---|
| 1 | user | 12345 |
| 2 | admin | 123 |
Vytvořme nyní formulář, do kterého se budou zadávat přihlašovací jméno a heslo:
<form action="" method="POST">
<input name="login">
<input name="password" type="password">
<input type="submit">
</form>
Napišme nyní kód, který bude kontrolovat, zda byl formulář odeslán a pokud ano, tak kontrolovat, zda v databázi existuje uživatel s takovým přihlašovacím jménem a heslem:
<?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živatel autorizován
} else {
// nesprávné přihlašovací jméno nebo heslo
}
}
?>
Implementujte výše popsanou autorizaci. Udělejte to tak, aby pokud uživatel prošel autorizací - zobrazilo se o tom zpráva, a pokud neprošel - tak zpráva, že zadané přihlašovací jméno nebo heslo jsou nesprávné.
Upravte kód tak, aby v případě úspěšné autorizace se formulář pro zadání hesla a přihlašovacího jména nezobrazoval na obrazovce.
Upravte kód tak, aby v případě úspěšné
autorizace došlo k přesměrování na stránku
index.php.
Upravte kód tak, aby na stránce
index.php se zobrazila zpráva o
úspěšné autorizaci. Vyřešte úlohu pomocí
flash zpráv na sezeních.