Em PHP, uma sessão é uma forma de manter informações do usuário entre diferentes páginas da web. É como se fosse uma variável, mas que pode ser usada ao mesmo tempo em diversos navegadores e podemos fechar a página e abri-la novamente que o valor será recuperado. Sessão é bastante usada em para manter o usuário logado ou que esse não precise colocar usuário e senhas a todo momento.
A importância das sessões em PHP está relacionada à capacidade de manter o estado do usuário durante sua interação com o site. Isso permite que o site personalize a experiência do usuário, mantenha informações de login ativas, gerencie carrinhos de compras e forneça conteúdo personalizado.
Quando um usuário acessa um site, uma sessão pode ser iniciada para armazenar dados específicos desse usuário, como preferências, informações de login e outras variáveis importantes. Isso é feito por meio de um identificador exclusivo chamado “session ID”, que é enviado para o servidor em cada requisição.
Dica: clique aqui e veja outros posts sobre PHP.
Trabalhando com Sessão em PHP
Antes de usar sessões em PHP, você precisa iniciar a sessão usando session_start(). Isso geralmente é feito no início de cada script PHP que precisa acessar ou modificar a sessão.
<?php session_start(); // Resto do código ?>
Agora, podemos armazenar informações na sessão usando o array $_SESSION. Essas variáveis permanecem disponíveis em diferentes páginas enquanto a sessão estiver ativa.
<?php session_start(); $_SESSION['usuario'] = 'João'; echo "Seja bem vindo, " . $_SESSION['usuario']; ?>
Esse é o resultado:
Seja bem vindo, João
Abra outro navegador e verá que terá o mesmo resultado.
Para encerrar uma sessão podemos destruí-la com session_destroy();
<?php session_set_cookie_params(3600); // Define o tempo de expiração para 1 hora (em segundos) session_start(); $_SESSION['usuario'] = 'João'; session_destroy(); echo "Seja bem vindo, " . $_SESSION['usuario']; ?>
Quanto tempo uma sessão fica ativa?
As sessões têm um tempo de expiração e esse tempo padrão é definido nas configurações do PHP, mas você pode ajustá-lo usando session_set_cookie_params()
antes de session_start().
<?php session_set_cookie_params(3600); // Define o tempo de expiração para 1 hora (em segundos) session_start(); $_SESSION['usuario'] = 'João'; echo "Seja bem vindo, " . $_SESSION['usuario']; session_destroy(); ?>
Tempo da Sessão no php.ini
Podemos alterar o tempo que a sessão fica ativa editando o arquivo php.ini. Esse arquivo possui configurações relacionadas a sessões, como o tempo de vida da sessão, local de armazenamento, entre outros.
session.gc_maxlifetime = 1440 ; Tempo de vida máximo da sessão em segundos (padrão: 24 minutos)
session.save_path = "/caminho/para/diretorio" ; Diretório onde os dados da sessão são armazenados