Простая аўтарызацыя праз базу дадзеных на PHP
Давайце рэалізуем самую простую аўтарызацыю на базе дадзеных, пакуль без рэгістрацыі. Замест рэгістрацыі карыстальнікаў, мы проста ўбярэм іх лагіны і паролі ў табліцу ў базе дадзеных:
| id | login | password |
|---|---|---|
| 1 | user | 12345 |
| 2 | admin | 123 |
Зробім цяпер форму, у якую будуць убівацца лагін і пароль:
<form action="" method="POST">
<input name="login">
<input name="password" type="password">
<input type="submit">
</form>
Напішем цяпер код, які будзе правяраць, адпраўленая лі форма і, калі адпраўленая, то правяраць, ці ёсць у базе дадзеных карыстальнік з такім лагінам і паролем:
<?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)) {
// юзер аўтарызаваны
} else {
// няправільны лагін або пароль
}
}
?>
Рэалізуйце апісаную вышэй аўтарызацыю. Зрабіце так, каб, калі карыстальнік прайшоў аўтарызацыю - вывадзілася паведамленне пра гэта, а калі не прайшоў - то паведамленне пра тое, што ўведзены лагін або пароль убітыя няправільна.
Мадыфікуйце код так, каб у выпадку паспяховай аўтарызацыі форма для ўводу пароля і лагіна не паказвалася на экране.
Мадыфікуйце код так, каб у выпадку паспяховай
аўтарызацыі адбываўся рэдырэкт на старонку
index.php.
Мадыфікуйце код так, каб на старонцы
index.php вывадзілася паведамленне аб
паспяховай аўтарызацыі. Вырашыце задачу праз
флэш-паведамленні на сесіях.