Escolar Documentos
Profissional Documentos
Cultura Documentos
Sesso um recurso do PHP que permite que voc salve valores (variveis) para serem usados ao
longo da visita do usurio. Valores salvos na sesso podem ser usados em qualquer parte do
programa, mesmo em outras pginas do sistema. So variveis que permanecem salvas at o usurio
fechar o navegador ou a sesso ser encerrada. Uso de sesses traz a possibilidade de unicidade e
privacidade de usurios. Onde, por exemplo, cada usurio (com seu login e senha), s pode ter
acesso as suas informaes pessoais. Enquanto o usurio no encerrar sua sesso, suas informaes
pessoais continuam disponveis.
Vamos entender com um exemplo simples: imagine que eu tenha uma pgina de informaes
restritas, onde somente o usurio 'user' com senha '1234' possa acessar. Primeiramente precisamos
do formulrio para insero de Login/senha, outra parte com cdigo PHP para verificao do
usurio e encaminhamento para a pgina restrita. E, finalizando, a pgina com as informaes
confidenciais.
form.html
valida.php
Visualizem a novidade neste cdigo. Na linha 7, se
usurio e senha corretos, a instruo da linha 9
header(Location:restrito.php) carregada e o
usurio enviado para a pgina restrito.php. Esta
pgina contm informaes confidenciais, que
somente usurio logados podem ter acesso.
restrito.php
Criem esse cdigos e faam os testes. Se Login/Senha incorretos, o usurio no consegue visualizar
a rea restrita. Se tudo certo, o usurio enviado a pgina certa e visualiza as informaes.
Voc precisa iniciar a sesso antes de poder setar ou pegar valores dela. No h limite de valores
salvos na sesso. A sesso pessoal de cada visitante.
Voc precisa iniciar a sesso antes de iniciar o output, ou seja, antes de retornar qualquer coisa para
o HTML. Antes de dar qualquer echo ou antes de inserir qualquer HTML fora de blocos php.
Geralmente o incio da sesso uma das primeiras coisas no comeo de todo cdigo.
A sesso precisa ser iniciada em cada pgina que voc for usar ou definir um valor dela, salvo
arquivos que vieram por include, mas preciso ter iniciado a sesso uma vez antes do include (que
ainda vamos aprender)
Depois de iniciada a sesso voc pode definir valores dentro dela dessa forma:
<?php
$_SESSION['usuario'] = 'Thiago';
E quando voc precisar exibir o valor salvo na sesso (provavelmente em outras pginas), s fazer
assim:
<?php
echo $_SESSION['usuario']; // Resultado: Thiago
Voc pode salvar quantos valores quiser, pode re-definir os valores e usa-los em echos, argumentos
de funes e da forma que preferir.
Voc tambm pode destruir toda a sesso de uma s vez, eliminando todas as variveis salvas nela:
<?php
session_destroy(); // Destri toda sesso
Com isso voc tem total controle das sesses no seu site e pode salvar, por exemplo, o nome de
usurio depois que ele fez o login e salvar outra varivel informando que o usurio est logado. Esta
uma prtica muito comum em sistemas de autenticao de usurio.
Visualizem as mudanas:
linha 4: aqui eu utilizo as informaes salvas no vetor $_SESSION para verificar se o usurio
entrou com login e senha. Caso no, o usurio no poder visualizar as informaes desta pgina.
Com o comando isset($_SESSION) eu verifico se a varivel est definida.
At aqui j est completamente funcional o sistema de login e senha e pgina restrita. Mas existe
um probleminha... Depois que usurio entrou com login e senha corretos, ele ficar logado no
sistema. Visualize aqui a necessidade de criamos um cdigo para 'deslogar', para zerar as
informaes existentes no vetor $_SESSION. Assim, outros usurios tambm podem fazer acesso a
sistema.
Algumas mudanas ento:
restrito.php
Adicionei a linha 7, com a possibilidade de acessar o cdigo para 'deslogar'. Vejam que encaminho
para a pgina deslogar.php. Por isso preciso cri-la.
deslogar.php
No cdigo 'deslogar.php' apenas, por segurana, deleto as informaes do vetor $_SESSION com
unset e destruo a sesso existente com session_destroy(). Feito isso, encaminho o usurio para a
pgina do formulrio.