[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.