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:
| id | login | password |
|---|---|---|
| 1 | user | 12345 |
| 2 | admin | 123 |
Vamos fazer agora um formulário onde serão inseridos login e senha:
<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:
<?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
}
}
?>
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.
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.
Modifique o código para que, em caso de autenticação bem-sucedida,
ocorra um redirecionamento para a página
index.php.
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.