Fala pessoal! Tudo na paz? Que tal um super tutorial de ano novo?! :D Esse é o primeiro artigo do ano, as 00:01 de 1º de Janeiro! Vamos começar o ano bem!
Hoje vamos começar um tutorial que será divido em várias partes… Nele vamos aprender a fazer um sistema de logins decente, usando classes no PHP… Meu objetivo aqui é que você aprenda duas coisas: como fazer um sistema de login desde o começo e aprenda um pouco mais sobre o uso de classes.
O sistema de login usará banco de dados MySQL e terá suporte a encriptação de senha (MD5, SHA1 e etc)… Totalmente customizável e será fácil alterá-lo caso você precise de alguma coisa especial. Também teremos um suporte a opção “lembrar minha senha”, onde o usuário permanecerá logado caso volte no site algum tempo depois, outra funcionalidade customizável e opcional.
Outro detalhe importante sobre o sistema é que ele irá funcionar nas versões 4 e 5 do PHP e do MySQL, então, se a sua hospedagem é uma vergonha, não se preocupe! :D
A Tabela de Usuários
Se você já tem uma tabela de usuários pode pular essa parte… Se não, vamos criar a seguinte tabela no banco de dados do seu site: Para criar essa tabela, você poderá usar o seguinte código SQL:
A classe Usuario
Vamos ao que interessa!
Antes de tudo, precisamos criar o nosso arquivo, vamos seguir algumas boas páticas de programação e vamos dar o nome de “usuario.class.php”. Criado o arquivo vazio, vamos começar a construir nossa classe:
Agora vamos começar a inserir algumas propriedades (variáveis) que serão usadas pela classe ao longo do projeto…
São com essas propriedades da classe que você vai poder customizar a classe para ela funcionar no seu site.. Cada uma esta devidamente comentada e explicada, é só alterar da forma que você necessitar.
Agora vamos definir o primeiro método da nossa classe:
Esse método cuidará da encriptação da senha (caso ela exista, claro)… Se o seu sistema não usar nenhum tipo de criptografia, pode deixar esse método do jeito que está, mas caso você use, por exemplo, o SHA1, você precisa mudar ali na linha 34 e colocar, por exemplo:
Caso você use outro tipo de encriptação, você vai precisar modificar esse método… O importante é você receber a senha pura/plana como parâmetro ($senha) e retornar a senha encriptada.
Agora vamos criar o segundo método da classe e o último método dessa parte do tutorial:
Esse método, como o comentário explica, cuidará de validar se um usuário existe, procurando o par $usuario + $senha no banco de dados… Ele só retornará verdadeiro (true) quando apenas um registro for encontrado. Se você reparar logo ali no começo do método, na linha 45, ele usa o método __codificaSenha() que irá encriptar (ou não) a senha… Simples né? :)
Então é isso gente… Por hoje vamos ficar por aqui. Em breve postarei a Parte 2, onde iremos criar os métodos que deixam um usuário logado (usando sessões E cookies)… E antes que alguém reclame, essa classe ainda não está usável… Ela é apenas a 1ª parte de uma classe que vamos fazendo ao longo dessa sequencia de tutoriais.
Pra quem quiser, o download do script completo da Parte 1: RAR.
Não deixem de dar uma olhada nas outras partes:
- [Criando um sistema de logins com classe no PHP - Parte 2](/criando-um-sistema-de-logins-com-classe-no-php-parte-2)
- [Criando um sistema de logins com classe no PHP - Parte 3](/criando-um-sistema-de-logins-com-classe-no-php-parte-3)
Um grande abraço, feliz ano novo e até a próxima!