Eae galera!
Para se fazer um sistema na maioria das vezes precisamos restringir o acesso de certas funções a certos usuários. Para se fazer estas restrições, o requisito inicial é ter um sistema onde os usuários precisem se autenticar no sistema antes de utiliza-lo. O post de hoje é o passo inicial desta tarefa.
Como fazer um sistema de login PHP
Segue abaixo um sistema simples de login feito em php. Para este sistema funcionar você deve ter um banco de dados com uma tabela chamada usuarios (instalando o wampserver o ambiente de desenvolvimento fica pronto para o tutorial), e esta tabela deve ter pelo menos os campos username e senha (nenhum tipo de criptografia fui utilizado no exemplo).
Código HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Título da Página</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
@import url("formulario_css.css");
-->
</style>
</head>
<body leftmargin="0" topmargin="5">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td colspan="2"><img src="logodapagina.png" width="180" height="48"></td>
</tr>
<tr>
<td colspan="2"> </td>
</tr>
<tr>
<td colspan="2" bgcolor="#005DBE"><div align="right">Tela de
Autenticação de usuário</div></td>
</tr>
<tr>
<td colspan="2"></td>
</tr>
<tr>
<td width="10"> </td>
<td width="789"><br>
<p> Entre com o usuário e a senha para
efetuar o login.</p>
<p>
<form name="form1" method="post" action="login.php">
<table>
<tr>
<td>Usuário:</td>
<td width="10"> </td>
<td> <input name="username" type="text" id="username"> </td>
</tr>
<tr>
<td>Senha:</td>
<td> </td>
<td><input name="senha" type="password" id="senha"></td>
</tr>
</table>
<br>
<input name="login" type="submit" id="login" value="Login">
</form>
</p></td>
</tr>
</table>
</body>
</html>
Nota: Este código ainda utilizará uma imagem (logo) do sistema e uma folha de estilos. Não postarei nem a imagem nem a folha.
Código PHP
<?php
//obtendo os dados do usuário
$username = $_POST["username"];
$senha = $_POST["senha"];
//acesso ao bd
include "conecta_mysql.inc";
$resultado = mysql_query("SELECT username,senha,id FROM usuarios
where username='$username'") or die(mysql_error());
$linhas = mysql_num_rows($resultado);
$row=mysql_fetch_array($resultado);
$id = $row['id'];
if($linhas == 0)
{
echo "<html><body>";
echo "<p>Usuário não encontrado!</p>";
echo "<a href=index.htm>Voltar</a>";
echo "</body></html>";
}else
{
if($senha != mysql_result($resultado, 0, "senha"))
{
echo "<html><body>";
echo "<p>A senha está incorreta!</p>";
echo "<a href=index.htm>Voltar</a>";
echo "</body></html>";
}
else
{
session_start();
$_SESSION["nome_usuario"] = $username;
$_SESSION["senha_usuario"] = $senha;
$_SESSION["id"] = $id;
header("Location: index.htm");
}
}
mysql_close($con);
?>
Este código PHP é chamado quando o usuário clica no botão Login do arquivo HTML. Ele ainda utiliza o sistema de include para fazer a conexão no banco de dados, valida as informações do usuário e inicia uma seção para o mesmo. Depois de criada a seção o código redireciona o usuário para uma página chamada index.html.
O esquema de criar um arquivo para “gerenciar” a conexão no banco pode ser encontrado aqui. O sistema de seções será assunto de um outro post.
O código é bastante simples, mas se alguem ficar na dúvida é só comentar!
Até a próxima!
😉