Exemplo de autenticação em PHP utilizando sessão- Parte 2
Para quem estiver chegando agora vamos concluir nosso sisteminha de autenticação.
Como devem lembrar ficou faltando apenas gravarmos os dados do usuário logado na sessão e criarmos um script que redireciona o usuário para a página de login se ele não estiver logado.
Primeiramente vamos entender como funcionam as sessões no PHP. Sessões ou sessions são uma das formas de manter informações enquanto o navegador do usuário estiver aberto, ou por um determinado tempo se configurou algum tempo de expiração.
Para começarmos a trabalhar com sessões, primeiramente devemos inicia-la com a função
session_start();
Algo importante de frisar é que a função session_start()
deve ser chamada antes de qualquer saída para o navegador, ou seja, instruções echo
ou semelhantes. Então para evitar problemas, coloque-a nas primeiras linhas de qualquer script que trabalhe com sessões.
Após termos iniciado nossa sessão iremos alterar o script autentica.php
para que ele grave na sessão as informações do nosso usuário logado.
$_SESSION['id'] = $id;
$_SESSION['nome'] = $nome;
Como podemos ver é bastante simples, é somente atribuir os valores ao array $_SESSION
com qualquer índice significativo.
Agora vamos proteger a página resultado.php
:
session_start();
if(empty( $_SESSION['nome'])){
echo "Você não tem permissão para acessar esta página.";
die();
}
Na linha 1 iniciamos nossa sessão, na linha 3 verificamos se a variável de sessão que armazena o nome do usuário logado está vazia, ou seja, não foi feito o login. Então mostramos uma mensagem e na linha 5 interrompemos o script.
As informações salvas em uma sessão podem ser utilizadas no decorrer do script como se fosse uma variável normal.
Para encerrar uma sessão basta destruí-la com a função session_destroy()
como mostrado no nosso arquivo de logout abaixo.
session_start();
session_destroy();
echo "Você está fora";
Bom isto é o básico do básico para lidar com sessões para uma melhor visão dêem uma conferida no documentação www.php.net.
Para fazer o download do script de login com as sessões funcionando clique aqui