Պարզ ավտորիզացիա տվյալների բազայի միջոցով 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 {
// սխալ մուտքանուն կամ գաղտնաբառ
}
}
?>
Իրականացրեք վերը նկարագրված ավտորիզացիան: Ծրագիրը դարձրեք այնպես, որ եթե օգտատերը անցել է ավտորիզացիա - ցուցադրվի դրա մասին հաղորդագրություն, իսկ եթե ոչ - ապա հաղորդագրություն, որ մուտքագրված մուտքանունը կամ գաղտնաբառը սխալ են:
Փոփոխեք կոդն այնպես, որ հաջող ավտորիզացիայի դեպքում գաղտնաբառի և մուտքանունի մուտքագրման ձևը չցուցադրվի էկրանին:
Փոփոխեք կոդն այնպես, որ հաջող ավտորիզացիայի դեպքում
tեղի ունենա վերահղում դեպի էջ
index.php:
Փոփոխեք կոդն այնպես, որ էջում
index.php ցուցադրվի հաղորդագրություն
հաջող ավտորիզացիայի մասին: Լուծեք խնդիրը
սեսիաների վրա հիմնված ֆլեշ-հաղորդագրությունների միջոցով: