#1 Sistema de Login com Senha Criptografada Dom Out 27, 2013 2:10 am
Admin
Admin
Vou ensinar passo-a-passo como montar um sistema de login com autenticação de usuário com senha criptografada com banco de dados MySQL.
Primeiro vamos criar a tabela que armazenará os registros de usuários, levando em conta que você já deve possuir um banco de dados (que neste tutorial vamos chamar de bduser).
Crie a tabela a seguir no mysql:
caduser.php
lista_user.php:
logar.php:
valida_logar.php:
deslog.php:
Primeiro vamos criar a tabela que armazenará os registros de usuários, levando em conta que você já deve possuir um banco de dados (que neste tutorial vamos chamar de bduser).
Crie a tabela a seguir no mysql:
- Código:
CREATE TABLE usuarios (
idus int(11) NOT NULL auto_increment,
login varchar(50) NOT NULL,
senha varchar(32) NOT NULL,
PRIMARY KEY (idus)
);
caduser.php
- Código:
<?php
include "conexao.php";
// verifica se o os dados foram enviados através do método POST
if (getenv("REQUEST_METHOD") == "POST") {
// encripta a senha para ser cadastrada na tabela
$cod = md5($passen);
// insere o registro pegando a senha criptografada no $cod
$sql = "INSERT INTO usuarios (login, senha) VALUES ('$login', '$cod')";
mysql_query($sql);
?>
<script>alert("Usuário cadastrado com Sucesso!!");</script>
<?php
}
?>
Formulário para cadastrar o usuário
<form action="caduser.php" method="post">
Nome: <input type="text" name="login"><br>
Senha: <input type="text" name="passen"><br>
<input type="submit" value="Enviar">
</form>
<br><br><br>
lista_user.php:
- Código:
<?php
include "conexao.php";
$sql = "SELECT * FROM usuarios"; // seleciona as colonas da tabela usuarios
$resultado = mysql_query($sql); // executa a contulta e armazena o resultado em array
$num_linhas = mysql_num_rows($resultado);
?>
<html>
<body>
<table border=2>
<tr>
<td>O Número de Linhas é: <?php echo $num_linhas; ?></td>
</tr>
</table>
<table border=2 bordercolor="#800000" bordercolorlight="#800000">
<tr>
<td colspan="3" align="center"><font face="Comic Sans MS" size="3" color="#003399">Usuário</font></td>
</tr>
<tr>
<td>Código</td>
<td>Login</td>
<td>Senha</td>
</tr>
<?php
//faz um loop ára listar em linhas os usuários cadastrados
for ($i = 0; $i < $num_linhas; $i++) {
$campos = mysql_fetch_array($resultado);
?>
<tr>
<td><?php echo $campos["idus"]; ?></td>
<td><?php echo $campos["login"]; ?></td>
<td><?php echo $campos["senha"]; ?></td>
</tr>
<?php
} //fecha o loop
?>
</table>
</body>
</html>
logar.php:
- Código:
<?php
include "conexao.php";
if (getenv("REQUEST_METHOD") == "POST") {
$cod = md5($passen); // pega o valor passado pelo form e criptografa
$resultado = mysql_query("SELECT login, senha FROM usuarios WHERE login='$txtlog' AND senha='$cod'");
if (mysql_num_rows($resultado) > 0) {
setcookie("logado", true);
setcookie("usuario", $txtlog);
// se o usuário existe vai para o arquivo lista_user (neste
// lugar vc coloca a página para onde o usuario irá se logado com sucesso
header("Location: lista_user.php");
} else {
?>
<script language="JavaScript">
<!--
window.alert("Usuário Não Identificado");
//-->
</script>
<?php
}
}
?>
<html>
<body>
<form action="logar.php" method="post" name="formlog">
<table border="1">
<tr>
<td>Login:</td>
<td><input type="text" name="txtlog"></td>
</tr>
<tr>
<td>Senha:</td>
<td><input type="text" name="passen"></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="Logar"></td>
</tr>
</table>
</form>
</body>
</html>
valida_logar.php:
- Código:
<?php
if (!$logado) {
// se o usuario nao for cadastrado volta para a
// página logar.php, não altere este código.
header("Location: logar.php");
}
?>
deslog.php:
- Código:
<?php
setcookie("logado");
// aqui você coloca a página para onde o usuario irá depois
// de deslogar, geralmente a página inicial do site.
header("Location: logar.php");
?>