Boteco Digital

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 destruir-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

Categorias PHP
comments powered by Disqus