PHP: Sessões

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

<html><head><meta charset="UTF-8" /><title>Teste</title></head><body><form action="recebe.php" method="post" >Nome: <br /><input type="text" name="nome" /><input type="submit" value="Enviar" /></form></body></html>

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
<?phpsession_start();
$nome_pessoa = $_POST['nome'];
$_SESSION['nome'] = $nome_pessoa;
header ("Location: mostra.php");?>
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 destrói 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

<?phpsession_start();
// Aqui, faz a variável nome receber o valor que estava guardado na sessão$nome = $_SESSION['nome']; 
?><html><head><meta charset="UTF-8" /><title>Teste</title></head><body>
O seu nome é: <?php echo"$nome"; ?>
</body></html><?phpsession_destroy();?>

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.