Lihtne andmebaasi autentimine PHP-s

Rakendame lihtsaima võimaliku autentimise andmebaasi põhjal, praegu registreerimiseta. Registreerimise asemel lisame kasutajate andmed otse andmebaasi tabelisse:

users
id login password
1 user 12345
2 admin 123

Loome nüüd vormi, kuhu saab sisestada kasutajanime ja parooli:

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

Kirjutame nüüd koodi, mis kontrollib, kas vorm on saadetud ja kui on, siis kontrollib, kas andmebaasis on kasutaja sellise kasutajanime ja parooliga:

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)) {
      // kasutaja autenditud
    } else {
      // vale kasutajanimi või parool
    }
  }
?>
Задание 1

Rakendage ülalkirjeldatud autentimine. Tehke nii, et kui kasutaja on edukalt autenditud, kuvatakse sellest teade, ja kui ei, siis teade, et sisestatud kasutajanimi või parool on vale.

Задание 2

Muutke koodi nii, et edukal autentimisel parooli ja kasutajanime sisestamise vorm ekraanil ei kuvataks.

Задание 3

Muutke koodi nii, et edukal autentimisel suunatakse edasi lehele index.php.

Задание 4

Muutke koodi nii, et lehel index.php kuvataks teade edukast autentimisest. Lahendage ülesanne sessioonil põhinevate flash-teadetega.