Validar usuário e senha com classe


Autor/fonte: Andrey Pedro Lefkum
E-mail/Url: http://www.andrey.eti.br/?p=145



Digg del.icio.us

Vendo que muitos tem dificuldades em montar esse tipo de validação, que é encapsulada, resolvi postar aqui e mostrar um forma simples de validar um formulário com uma classe PHP.

Bom, não cheguei ao ponto de montar o formulário, mas lá teríamos dois campos que se chamariam usuarioLogin e usuarioSenha e um botão que teria o nome de inserir.

Após o usuário submeter a página ficaria por conta desse script abaixo fazer a validação:

<?php
if($_POST[’inserir’]) {
    include “_include/conecta.php”;
    include “_classe/classeValidaSessao.php”;
  
   $objetoValida = new ValidaSessao();
   $objetoValida->setUsuarioLogin($_POST[’usuarioLogin’]);
   $objetoValida->setUsuarioSenha($_POST[’usuarioSenha’]);
   $dadosUsuario = $objetoValida->valida();
  
   if($dadosUsuario == false) {
      header(”location: sistemaLogar.php?erro=true”);
   }
   else {
       echo “Validou… Aqui cria a sessão do usuário”;
   }
}
?>

Como é fácil, não é? Basta setar os dados e mandar validar, o resto a classe faz, lembrando que você não vai mais fazer essa validação nunca, somente se quiser aperfeiçoa-la!

Agora abaixo temos a classe:

. Variáveis: $usuarioLogin;
. Get and Set: getUsuarioLogin, setUsuarioLogin;
. Metodos: valida.

No metodo valida, temos um SELECT que faz a consulta no banco através dos dados que foram setados no script acima, lembrando que quando setamos os dados a classe já deixa códigos maliciosos inutilizáveis com addslashes e também já aplica o MD5 em cima da senha para criptografar (hash 32).

<?php
class ValidaSessao {

   var $usuarioLogin;
   var $usuarioSenha;
   var $codigoSessao;

   function getUsuarioLogin() {
      return $this->usuarioLogin;
   }
   function setUsuarioLogin($usuarioLogin) {
      $this->usuarioLogin = addslashes($usuarioLogin);
   }
  
   function getUsuarioSenha() {
      return $this->usuarioSenha;
   }
   function setUsuarioSenha($usuarioSenha) {
      $this->usuarioSenha = md5($usuarioSenha);
   }
  
   function valida() {

      $sql_usu = “SELECT usuarioCodigo
                        ,usuarioNome
                        ,usuarioLogin
                        ,usuarioFilialCodigo
                        ,usuarioEmail
                  FROM usuario
                  WHERE usuarioLogin = ‘”.$this->getUsuarioLogin().”‘
                  AND usuarioSenha = ‘”.$this->getUsuarioSenha().”‘
                  AND usuarioStatus = ‘1&#8242;
                  “;
           
      $res_usu = mysql_query($sql_usu) or die(mysql_error());
           
      if(mysql_num_rows($res_usu) == 1) {
         $lin_usu = mysql_fetch_array($res_usu);
                    $usuario[’usuarioCodigo’]       = $lin_usu[’usuarioCodigo’];
                    $usuario[’usuarioNome’]         = $lin_usu[’usuarioNome’];
                    $usuario[’usuarioLogin’]        = $lin_usu[’usuarioLogin’];
                    $usuario[’usuarioEmail’]        = $lin_usu[’usuarioEmail’];
                    $usuario[’usuarioFilialCodigo’] = $lin_usu[’usuarioFilialCodigo’];
        
         return $usuario;
      }
      else {
         return false;
      }
   }
}
?>




Enviado por xKuRt em 19/01/2007 às 10:30


Avaliação

Esta publicação ainda não foi avaliada!


Avaliar:


A avaliação de publicações é restrita a membros cadastrados e logados no nosso site.



Comentários

AvatarEnviado por paulomagno em 06/03/2009 às 20:02

Gostei da classe,eu estava procurando uma dessas para eu poder ter uma base para criar uma,bom artigo!

--
Paulo Magno


Envio de comentário:




  

Segunda, 22 de Setembro de 2014




Top 5 membros

Últimos membros online

  • 1em 22/09 às 15:54
  • xKuRtem 22/09 às 07:14
  • nobioem 18/09 às 22:31

Últimos membros cadastrados



Capa do livro
HTML 5 e CSS3: Desenvolva Hoje Com O Padrão De Amanhã


Capa do livro
SQL, PL/SQL, SQL*PLus - Manual de Referência Completo e Objetivo


Capa do livro
Construindo Aplicações Web com PHP e MySQL





Hostnet

IMD