[28/04/2011]
Veja um exemplo prático do uso da classe: neste artigo.
Olá pessoal, hoje vou fazer esse artigo a pedido de uma sugestão. Irei apresentar a vocês um classe para fazer autenticação do usuário, verificar se ele está autenticado e encerrar a sessão. Em muitos projetos é preciso fazer uma área restrita que só quem possui um login pode entrar. É ai que entra essa classe.
Clique aqui para fazer download da classe
1. Banco de dados
Primeiramente vamos criar nossa tabela no banco de dados, e inserir alguns usuários:
CREATE TABLE IF NOT EXISTS `usuarios` ( `id` int(11) NOT NULL AUTO_INCREMENT, `login` varchar(28) NOT NULL, `senha` varchar(50) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=0; INSERT INTO `usuarios` (`id`, `login`, `senha`) VALUES (1, 'faael', '1234'); INSERT INTO `usuarios` (`id`, `login`, `senha`) VALUES (2, 'rafael', '4321');
2. Logar
Para realizar o login, precisamos criar um formulário para o usuário colocar seu login e sua senha, porém, nesse artigo vou apenas demonstrar a parte do PHP. Portanto, vamos supor que o login e a senha já tenham vindo de um formulário:
<?php
// Conexão com o banco de dados
mysql_connect("localhost", "usuario", "senha");
mysql_select_db("banco");
// Recuperando os dados do formulário
$LoginUsuario = $_POST["LoginUsuario"];
$SenhaUsuario = $_POST["SenhaUsuario"];
// Incluimos a classe
require_once("login.class.php");
/*
Instanciamos a classe. A função Login(), aceita como parametros facultativos:
nome da tabela, nome do campo de login, nome do campo de senha, mensagem de erro.
Por padrão, o nome da tabela é "usuarios", o campo de login é "login", o de senha é "senha"
e a mensagem de erro é "Login ou senha inválido".
*/
$login = new Login();
/*
Realizamos o login através da função logar() da classe,
que aceita como parametro obrigatório: o login e a senha.
E como terceiro parametro: página que o usuário será redirecionado.
Ou seja: logar(login, senha, redirecionamento)
*/
$logar = $login->logar($LoginUsuario, $SenhaUsuario, "area_restrita.php");
// Se o login ou senha estiver incorreto, exibe mensagem de erro
if ($logar)
echo $logar;
?>
3. Verificar
Bom agora precisamos verificar se o usuário está logado na página restrita (“area_restrita.php” no nosso caso):
<?php
// Incluimos a classe
require_once("login.class.php");
// Instanciamos a classe
$login = new Login();
/*
Utilizamos a função verificar() que verifica se o usuário está logado.
Ela aceita como parâmetro facultativo para onde o usuário será redirecionado
caso ele não esteja logado. No caso, ele não estiver logado,
será redirecionado para a página de login (login.php).
*/
$login->verificar("login.php");
/*
Se ele estiver logado, mostramos a mensagem de bem-vindo.
A váriavel $LoginUsuario é criada assim que é constado que o
usuário está logado.
*/
echo "Bem vindo " . $LoginUsuario;
?>
4. Logout
E para finalizar a sessão do usuário, fazemos da seguinte maneira:
<?php
// Incluimos a classe
require_once("login.class.php");
// Instanciamos a classe
$login = new Login();
/*
Realizamos o logout através da função logout(),
que aceita como parâmetro facultativo o local para onde o usuário
será redirecionado.
*/
$login->logout("login.php");
?>
Bom pessoal, apresentei a classe meio que rápido, porém já é possível utilizá-la. Qualquer dúvida em relação a essa classe, entre em contato, ok?
Abraços.