PHP orqali ma'lumotlar bazasida oddiy avtorizatsiya
Keling, ro'yxatdan o'tishsiz, faqat ma'lumotlar bazasi asosida eng oddiy avtorizatsiyani amalga oshiramiz. Foydalanuvchilarni ro'yxatdan o'tkazish o'rniga, biz ularning login va parollarini ma'lumotlar bazasidagi jadvalga kiritamiz:
| id | login | password |
|---|---|---|
| 1 | user | 12345 |
| 2 | admin | 123 |
Endi login va parol kiritiladigan shaklni yasaymiz:
<form action="" method="POST">
<input name="login">
<input name="password" type="password">
<input type="submit">
</form>
Endi shakl yuborilganligini tekshiradigan va agar yuborilgan bo'lsa, ma'lumotlar bazasida shunday login va parolga ega foydalanuvchi bormi yoki yo'qligini tekshiradigan kodni yozamiz:
<?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)) {
// foydalanuvchi avtorizatsiyadan o'tdi
} else {
// noto'g'ri login yoki parol
}
}
?>
Yuqorida tavsiflangan avtorizatsiyani amalga oshiring. Agar foydalanuvchi avtorizatsiyadan o'tgan bo'lsa - bu haqda xabar chiqarilsin, agar o'tmagan bo'lsa - kiritilgan login yoki parol noto'g'ri ekanligi haqida xabar chiqarilsin.
Kodni shunday o'zgartiringki, muvaffaqiyatli avtorizatsiyadan so'ng, parol va login kiritish shakli ekranda ko'rinmasin.
Kodni shunday o'zgartiringki, muvaffaqiyatli avtorizatsiyadan
so'ng, foydalanuvchi index.php sahifasiga yo'naltirilsin.
Kodni shunday o'zgartiringki, index.php sahifasida
muvaffaqiyatli avtorizatsiya haqida xabar chiqsin. Masalani
sessiyalardagi flesh-xabarlar orqali yeching.