Report abuse

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<?php

class Usuario {
    /**
     * Nome do banco de dados onde está a tabela de usuários
     */
    var $bancoDeDados = 'meu_site';
    
    /**
     * Nome da tabela de usuários
     */
    var $tabelaUsuarios = 'usuarios';
    
    /**
     * Nomes dos campos onde ficam o usuário e a senha de cada usuário
     * Formato: tipo => nome_do_campo
     */
    var $campos = array(
        'usuario' => 'usuario',
        'senha' => 'senha'
    );
    
    /**
     * Usa algum tipo de encriptação para codificar uma senha
     *
     * Método protegido: Só pode ser acessado por dentro da classe
     *
     * @param string $senha - A senha que será codificada
     * @return string - A senha já codificada
     */
    function __codificaSenha($senha) {
        // Altere aqui caso você use, por exemplo, o MD5:
        // return md5($senha);
        return $senha;
    }
    
    /**
     * Valida se um usuário existe
     *
     * @param string $usuario - O usuário que será validado
     * @param string $senha - A senha que será validada
     * @return boolean - Se o usuário existe ou não
     */
    function validaUsuario($usuario, $senha) {
        $senha = $this->__codificaSenha($senha);

        // Procura por usuários com o mesmo usuário e senha
        $sql = "SELECT COUNT(*)
                FROM `{$this->bancoDeDados}`.`{$this->tabelaUsuarios}`
                WHERE
                    `{$this->campos['usuario']}` = '{$usuario}'
                    AND
                    `{$this->campos['senha']}` = '{$senha}'";
        $query = mysql_query($sql);
        if ($query) {
            $total = mysql_result($query, 1);
        } else {
            // A consulta foi mal sucedida, retorna false
            return false;
        }
        
        // Se houver apenas um usuário, retorna true
        return ($total == 1) ? true : false;
    }
}

?>