Autenticação Simples via Banco de Dados em PHP

Vamos implementar a autenticação mais simples com base em banco de dados, por enquanto sem cadastro. Em vez de cadastrar usuários, vamos simplesmente inserir seus logins e senhas em uma tabela no banco de dados:

users
id login password
1 user 12345
2 admin 123

Vamos fazer agora um formulário onde serão inseridos login e senha:

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

Vamos escrever agora o código que verificará se o formulário foi enviado e, se foi enviado, verificar se existe no banco de dados um usuário com esse login e senha:

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)) {
      // usuário autenticado
    } else {
      // login ou senha incorretos
    }
  }
?>
Задание 1

Implemente a autenticação descrita acima. Faça com que, se o usuário passou pela autenticação - seja exibida uma mensagem sobre isso, e se não passou - uma mensagem de que o login ou senha inseridos estão incorretos.

Задание 2

Modifique o código para que, em caso de autenticação bem-sucedida, o formulário para inserir senha e login não seja exibido na tela.

Задание 3

Modifique o código para que, em caso de autenticação bem-sucedida, ocorra um redirecionamento para a página index.php.

Задание 4

Modifique o código para que na página index.php seja exibida uma mensagem sobre autenticação bem-sucedida. Resolva a tarefa usando mensagens flash em sessões.