Curso de Programação Web com PHP

Como usar Sessão em PHP

Nessa aula você irá começar a compreender uma forma de persistência de dados muito utilizada para armazenar dados temporariamente, ou seja, como usar sessão em PHP . A maioria das linguagens de programação para web implementam essa funcionalidade e você poderá desfrutar dela sem problemas.

 O primeiro conceito importante a ser trabalhado aqui são os Cookies. A maioria das pessoas já ouviu falar nos cookies, porém, não sabem definir direito por quê eles existem. Uma definição simples e rápida para os conceitos de cookie e sessão é:  

Muitos apenas definem como “persistências temporárias” feitas no lado do usuário, e sessões são persistências dependentes de cookies, mas realizadas no lado do servidor.

Para que servem Cookies e Sessões?

 O protocolo HTTP é Stateless, ou seja, ele não mantém um estado/conexão. Toda a interação que o seu cliente fizer com um servidor web acarretará em uma nova requisição e resposta. As requisições são independentes e possuem um tempo de vida (conexão, envio de mensagem, resposta, encerramento da conexão). O servidor web não é capaz de identificar se duas requisições vieram de um mesmo navegador, e o mesmo não faz nenhum gerenciamento em memória para que mensagens sejam compartilhadas entre requisições. É para suprir esta necessidade que entram os cookies e sessões.

Cookies

Através de cookies o servidor web é capaz de trocar informações de estado com o navegador do usuário. Desse modo, somos capazes de adicionar produtos a um carrinho de compras, sem perder estas informações ao mudar de página, sair do website ou até mesmo fechar o navegador. Tecnicamente falando, um cookie é uma pequena quantidade de informação persistida temporariamente pelo navegador. Os navegadores normalmente limitam o tamanho dos cookies em até 4KB, e apagam cookies com a data de “validade vencida”.

Exemplo de cookie em PHP

Para entender como essa troca de informação é feita, vamos criar um cookie com o PHP:

 
 <?php
     // cookies.php
  
     if (isset($_COOKIE['cookie_teste'])) {
         echo 'Você JÁ passou por aqui!';
     } else {
         echo 'Você NUNCA passou por aqui.';
         setcookie('cookie_teste', 'Algum valor...', time() + 3600);
     }
 ?>

O código acima verifica se o cookie atendendo pelo identificador cookie_teste já existe, caso não exista, cria um cookie com identificador cookie_teste, valor Algum valor… e com 1 hora de vida (a hora atual mais 3600 segundos). Esse cookie é persistido pelo navegador e é possível de ser acessado nas configurações de request:

Sessões

As sessões têm um princípio similar aos cookies, só que o armazenamento do estado é feito pelo servidor web, e não pelo navegador. Por exemplo, quando construímos uma aplicação que necessita de autenticação, no momento em que o usuário efetuar o login, podemos até permitir que algumas informações sejam armazenadas em um cookie, mas dados mais “sensíveis”, como usuário e e-mail, são mais interessantes de serem guardadas em sessões. Isto, pois não é seguro que esse tipo de informação fique “viajando” pela web.
Mas se o HTTP é stateless, e o servidor web não tem como identificar que a requisição anterior veio do meu browser, como é que ele sabe que as informações que eu guardei em sessão são de fato minhas? Simples… através de cookies!
Quando iniciamos uma sessão, é enviado um cookie para o navegador, com um valor único que corresponde a sessão aberta no servidor web.
Veja um exemplo de como usar sessão em PHP:
<?php
// sessions.php
session_start();
if (isset($_SESSION[‘usuario’])) {
echo “Bem vindo {$_SESSION[‘usuario’]}!”;
} else {
      echo ‘Você NUNCA passou por aqui.’;
$_SESSION[‘usuario’] = ‘João’;
}
?>

Você quer se aprofundar nesse assunto? Acesse nosso curso completo aqui

Esse post foi modificado em 8 de abril de 2021 18:19

Tags PHPSessão

This website uses cookies.