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
саҳифасида муваффақиятли авторизация тўғрисида хабар
чиқарилсин. Масалани сессиялардаги флеш-хабарлар
орқали ечинг.