Պարզ ավտորիզացիա տվյալների բազայի միջոցով PHP-ում

Եկեք իրականացնենք ամենապարզ ավտորիզացիան տվյալների բազայի հիման վրա, առայժմ առանց գրանցման: Փոխարեն օգտատերերի գրանցման, մենք պարզապես կմուտքագրենք նրանց մուտքանուններն ու գաղտնաբառերը աղյուսակում տվյալների բազայում:

users
id login password
1 user 12345
2 admin 123

Հիմա ստեղծենք ձև, որտեղ կմուտքագրվեն մուտքանունը և գաղտնաբառը:

login.php<form action="" method="POST">
  <input name="login">
  <input name="password" type="password">
  <input type="submit">
</form>

Հիմա գրենք կոդ, որը կստուգի, արդյոք ձևը ուղարկված է, և եթե ուղարկված է, ապա կստուգի, արդյոք տվյալների բազայում կա օգտատեր նման մուտքանունով և գաղտնաբառով:

login.php<?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 {
      // սխալ մուտքանուն կամ գաղտնաբառ
    }
  }
?>
Задание 1

Իրականացրեք վերը նկարագրված ավտորիզացիան: Ծրագիրը դարձրեք այնպես, որ եթե օգտատերը անցել է ավտորիզացիա - ցուցադրվի դրա մասին հաղորդագրություն, իսկ եթե ոչ - ապա հաղորդագրություն, որ մուտքագրված մուտքանունը կամ գաղտնաբառը սխալ են:

Задание 2

Փոփոխեք կոդն այնպես, որ հաջող ավտորիզացիայի դեպքում գաղտնաբառի և մուտքանունի մուտքագրման ձևը չցուցադրվի էկրանին:

Задание 3

Փոփոխեք կոդն այնպես, որ հաջող ավտորիզացիայի դեպքում tեղի ունենա վերահղում դեպի էջ index.php:

Задание 4

Փոփոխեք կոդն այնպես, որ էջում index.php ցուցադրվի հաղորդագրություն հաջող ավտորիզացիայի մասին: Լուծեք խնդիրը սեսիաների վրա հիմնված ֆլեշ-հաղորդագրությունների միջոցով: