Dia desses um colega de trabalho me pediu um help para criar um sistema de login em PHP.
Como eu estava meio sem tempo para explicar muita coisa, fiz um sistema básico, com alguns comentários, e resolvi postar aqui para ajudar a mais alguém.
Siga os passos: Crie uma página que irá conter o formulário de acesso do usuário:
index.php
<form action="login.php" method="post">
Usuário <input type="text" name="TxtLogin" id="TxtLogin" size="15" /><br />
Senha <input type="password" name="TxtSenha" id="TxtSenha" size="15" /><br />
<input type="submit" name="BtnLogin" id="BtnLogin" value="Login" />
</form>
Segue abaixo a página que receberá as informações:
login.php
<?php
session_start();
if (isset($_POST['BtnLogin']))
{// testa se a página foi chamada pelo form de login
$login = $_POST['TxtLogin'];
$senha = $_POST['TxtSenha'];
// se quiser, criptografe para comparar com o banco
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die(’Erro’);
mysql_select_db($dbname, $conn);
$sql = “SELECT id, nome, email FROM usuarios ”
.” WHERE login = ‘$login’ AND senha = ‘$senha’”;
$result = mysql_query($sql, $conn);
if (mysql_num_rows($result) > 0) // usuario existe
{
// pega o array de resultados
$dados = mysql_result($result, 0);
// grava a sessão
$_SESSION['usuario']['id_user'] = $dados['id'];
$_SESSION['usuario']['nome'] = $dados['nome'];
$_SESSION['usuario']['email'] = $dados['email'];
header(’Location: logado.php’);
}
else
{
header(’Location: index.php’);
// falha na autenticação
}
mysql_close();
}
else
{
header(’Location: index.php’);
// caso negativo, volta para index.php
}
?>
Em todas as páginas que o usuário deva estar logado para acessar, insira o seguinte código:
logado.php
<?php
session_start();
if (!isset($_SESSION['usuario']))
{
header(’Location: index.php’); // vai para a página de login
exit; // é importante para não executar o restante da página
}
// restante do código da página
echo “Olá, “.$_SESSION['usuario']['nome'].”! Seja bem-vindo de volta!”;
echo “<br /><br />n”
.”<a href=”logout.php”>Sair</a>”;
?>
Para o usuário efetuar o logout, escreva uma página como a seguir:
logout.php
<?php
session_start();
session_destroy(); // "mata" TODAS as sessões criadas
// ou
unset($_SESSION['usuario']);
// “mata” somente a sessão criada para o usuário
header(’Location: index.php’);
?>
Espero que seja útil.
Caso queira, poderá utilizar orientação a objetos para isso, inclusive com serialização de dados antes de passar à sessão. Mas isso é assunto para outro post!
| Ofertas Relacionadas | ![]() Tablet Coby 7015 4gb Memoria Android 2.1 Kyros Wifi Gratis Mais info» R$ 278.00 até 18x de 20.85 | ![]() Tablet Android 2.2 Wifi 3g Camera Hd 2gb Semelhante Ipad Mais info» R$ 379.90 até 18x de 28.49 | ![]() Novo Tablet Coby Kyros 7020 Câmera Android 2.2 Wifi 4gb Mais info» R$ 309.00 até 18x de 23.18 |
|---|






2 Comentários
olá como eu fasso para cada usuario logado asseçar uma pagina diferente ?
Funcional, simples, versátil e prático. Parabéns mesmo pelo post. Muito bom