leitura de
Encontrou um problema no conteúdo? Por favor, deixe seu comentário!

Opa opa opa! Vamos continuar hoje com a terceira parte do nosso tutorial de “Criando um sistema de logins com classe no PHP”…

Já passamos vitoriosos pela Parte 2 e hoje vamos fazer o método que usaremos para verificar se um usuário está logado e o método que usaremos para deslogar o usuário… A boa notícia é que depois da aula de hoje a classe estará pronta para vocês usarem em vossos sites, lembrando sempre que o importante aqui é que vocês aprendam como fazer e não apenas copiem o código e usem.

Vamos começar fazendo uma correção que o Leo Baiano sugeriu no método validaUsuario() criado na Parte 1… A mudança vai acontecer entre a linha 87 e a linha 96:

Mudaremos a consulta e outras três linhas depois:

Essa mudança foi necessária por causa de um probleminha com a função mysql_result() que tem dificuldades de identificar qual resultado nós queremos… Com esse ajuste tudo irá funcionar perfeitamente.

 

Agora nós iremos começar a criar o método que verifica se há um usuário logado… Ele irá retornar TRUE quando um usuário estiver logado e retornará FALSE em qualquer situação que indique que não há um usuário logado, por isso precisamos verificar todas as possibilidades:

Primeiro nós verificamos a necessidade de iniciar a sessão e lógo após isso iremos verificar se existe o valor “logado” na sessão:

Pra quem não lembra, esse valor $this->prefixoChaves . ‘logado’ foi criado pelo método logaUsuario().

Agora nós precisamos verificar (caso seja necessário) o cookie que contém as informações (usuário, IP e navegador) do usuário para ver se elas batem com o que está armazenado no cookie:

Caso haja o cookie, precisamos criar novamente uma string encriptada contendo as informações do usuário para checar com o valor salvo no cookie:

Feita a verificação do cookie sabemos que, depois disso tudo, o usuário está logado e podemos retornar true e fechar o método..

Terminamos o método que informa se há um usuário logado, agora vamos começar o método que fará o logout do usuário:

O primeiro passo do logout é iniciar a sessão e remover todos os valores da sessão…

Repare que entre a linha 236 e 242 fizemos uma coisa interessante: removemos da sessão apenas os valores que pertencerem ao nosso sistema de login… Muita gente usa um simples session_destroy() para acabar com a sessão, mas se o seu site salvar valores na sessão não podemos simplesmente apagá-los, concorda? :)

 

Por isso nós fazemos uma verificação a mais, que checa se ainda existem valores na sessão e [caso não exista nada] usamos o session_destroy() e depois removemos o cookie que identifica qual sessão é de qual visitante:

Agora o último passo do logout é remover o cookie que armazena as informações do visitante:

Terminando o método poremos retornar o valor booleano (true ou false) que informa se o usuário foi deslogado com sucesso… Existe forma melhor de fazer isso do que verificando se não há um usuário logado?

E a nossa classe de controle e gerencia de usuários logados está completa! :D

Espero realmente que tenham gostado e aprendido com essa sequencia de tutoriais.

Abraços e até a próxima!

Thiago Belem / Blog

Thiago Belem


Publicado

Thiago Belem / Blog

Thiago Belem / Blog

Artigos e tutoriais sobre desenvolvimento WEB

Continue lendo