Jednoduchá autorizácia cez databázu na PHP
Poďme implementovať najjednoduchšiu autorizáciu na báze databázy, zatiaľ bez registrácie. Namiesto registrácie používateľov ich jednoducho vložíme ich prihlasovacie mená a heslá do tabuľky v databáze:
| id | login | password |
|---|---|---|
| 1 | user | 12345 |
| 2 | admin | 123 |
Urobme teraz formulár, do ktorého sa budú zadávať prihlasovacie meno a heslo:
<form action="" method="POST">
<input name="login">
<input name="password" type="password">
<input type="submit">
</form>
Napíšme teraz kód, ktorý bude kontrolovať, či bol formulár odoslaný a ak áno, tak skontroluje, či sa v databáze nachádza používateľ s takým prihlasovacím menom a heslom:
<?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)) {
// používateľ autorizovaný
} else {
// nesprávne prihlasovacie meno alebo heslo
}
}
?>
Realizujte opísanú vyššie autorizáciu. Urobte tak, aby, ak používateľ prešiel autorizáciou - zobrazilo sa o tom hlásenie, a ak neprešiel - tak hlásenie o tom, že zadané prihlasovacie meno alebo heslo sú nesprávne.
Upravte kód tak, aby v prípade úspešnej autorizácie sa formulár na zadanie hesla a prihlasovacieho mena nezobrazoval na obrazovke.
Upravte kód tak, aby v prípade úspešnej
autorizácie došlo k presmerovaniu na stránku
index.php.
Upravte kód tak, aby na stránke
index.php sa zobrazilo hlásenie o
úspešnej autorizácii. Vyriešte úlohu pomocou
flash-hlásení na reláciách.