PHP: Sessões
Autor: Kassio Romulo | Publicado: 2012-03-17T22:43:00-03:00

No php é comum a utilização de sessões para a passagem de informações entre páginas e principalmente para um sistema de login, no qual é necessário constantemente a verificação do usuário.

Mas o que são sessões?
Basicamente, é uma forma de preservar os dados através de acessos sequenciais. isso permite a criação de aplicações personalizadas e aumenta a capacidade de um site ou sistema web. Confira mais no manual php de sessões: Referência sessões

Como usar?
Essa é a pergunta mais comum e a mais fácil de se realizar, para usar uma sessão você deve inicia-la e termina-la. Simples, no início de uma página php você inicia a sessão com: session_start(); e ao final da utilização, quando não for mais usar as informações você deve fechar com: session_destroy();

Mas como funciona?
Essa pergunta forma a essência das sessões, a sessão serve para armazenar dados enquanto o usuário estiver em seu site, então podemos facilmente capturar dados e armazena-los para futuras consultas, confira no exemplo abaixo:

Ex.: No exemplo queremos que o usuário digite o seu nome mostrar este nome em outra página:

Página 1:

envia.php

&lt;html&gt;&lt;head&gt;&lt;meta charset="UTF-8" /&gt;&lt;title&gt;Teste&lt;/title&gt;&lt;/head&gt;&lt;body&gt;&lt;form action="recebe.php" method="post" &gt;Nome: &lt;br /&gt;&lt;input type="text" name="nome" /&gt;&lt;input type="submit" value="Enviar" /&gt;&lt;/form&gt;&lt;/body&gt;&lt;/html&gt;
Esta página irá conter um simples formulário com um campo de texto pedindo ao usuário para digitar seu nome, ao digitar e clicar em enviar, o dado do campo nome será enviado via "Post" para a página "recebe.php" que irá receber este dado para então armazena-lo em uma sessão.

recebe.php
&lt;?phpsession_start();
$nome_pessoa = $_POST['nome'];
$_SESSION['nome'] = $nome_pessoa;
header ("Location: mostra.php");?&gt;Esta página recebe via $_POST o nome e armazena na variável "nome_pessoa" (perceba que a sessão foi iniciada no início da página), logo após, o valor da variável "nome_pessoa" é guardada na sessão, repare nos colchetes o nome da variável da sessão, assim como no próprio php, a sessão cria variáveis para guardar os valores desejados, no caso acima ($_SESSION['nome'] = $nome_pessoa;) estamos criando uma variável "nome" dentro da sessão com o valor da variável php "nome_pessoa", assim a variável nome poderá ser chamada em qualquer página do site de agora em diante.Repare que nesta página não chamamos "session_destroy()" pois esta função&nbsp;destrói&nbsp;todas as variáveis guardadas na sessão, ou seja, só chame esta função quando não desejar mais utilizar nenhuma variável que está guardada na sessão.A seguir um exemplo de página php que pega o valor da sessão, mostra na tela e ao final da página destrói a sessão pois não a utilizaremos mais.
mostra.php
&lt;?phpsession_start();
// Aqui, faz a variável nome receber o valor que estava guardado na sessão$nome = $_SESSION['nome'];&nbsp;
?&gt;&lt;html&gt;&lt;head&gt;&lt;meta charset="UTF-8" /&gt;&lt;title&gt;Teste&lt;/title&gt;&lt;/head&gt;&lt;body&gt;
O seu nome é: &lt;?php echo"$nome"; ?&gt;
&lt;/body&gt;&lt;/html&gt;&lt;?phpsession_destroy();?&gt;
O que achou do artigo? comente, tire suas dúvidas.

Obs.: Com sessões é possível criar um sistema de login, passando os valores de "user" e "senha" por sessão e comparando com dados guardados no banco de dados do usuário, caso esteja certo, prossiga para uma página protegida.