Gerenciando Sessões com $_SESSION em PHP: Como Armazenar e Recuperar Dados
- Home
- Gerenciando Sessões com $_SESSION em PHP: Como Armazenar e Recuperar Dados
- PHP
- Gerenciando Sessões com $_SESSION em PHP: Como Armazenar e Recuperar Dados
Gerenciando Sessões com $_SESSION em PHP: Como Armazenar e Recuperar Dados
Introdução
Quando desenvolvemos aplicações web, muitas vezes precisamos manter informações de um usuário ativo durante toda a sua navegação no site, como por exemplo, dados de login, carrinhos de compras, preferências, entre outros. Em PHP, isso pode ser facilmente feito usando sessões, que permitem armazenar dados do usuário entre diferentes requisições HTTP.
A superglobal $_SESSION
é o array associativo utilizado em PHP para armazenar essas informações de sessão. Cada usuário terá uma sessão única, identificada por um ID de sessão.
Como Iniciar uma Sessão em PHP
Antes de usar $_SESSION
, é necessário iniciar a sessão no início de cada script em que deseja acessar ou manipular as variáveis de sessão. Isso é feito com a função session_start()
.
<?php
// Inicia a sessão
session_start();
?>
A partir desse ponto, você pode começar a armazenar e recuperar dados da sessão.
Armazenando Dados em $_SESSION
Armazenar dados na sessão é simples. Basta atribuir um valor a um índice do array $_SESSION
. Vamos ver um exemplo básico de como armazenar e acessar dados de sessão:
<?php
// Inicia a sessão
session_start();
// Armazena dados na sessão
$_SESSION['username'] = 'joaodasilva';
$_SESSION['email'] = 'joao@example.com';
// Exibe os dados armazenados
echo 'Usuário: ' . $_SESSION['username'] . '<br>';
echo 'Email: ' . $_SESSION['email'];
?>
Nesse exemplo, o nome de usuário e o email são armazenados na sessão e podem ser acessados em qualquer página do site enquanto a sessão estiver ativa.
Removendo Dados de $_SESSION
Você pode remover um item específico da sessão utilizando a função unset()
, ou destruir toda a sessão utilizando session_destroy()
.
<?php
// Inicia a sessão
session_start();
// Remove um item da sessão
unset($_SESSION['username']);
// Destroi toda a sessão
session_destroy();
?>
Após a chamada de session_destroy()
, todas as variáveis da sessão serão removidas e o usuário perderá todos os dados armazenados na sessão.
Exemplo Completo: Gerenciando Login de Usuário com Sessão
Vamos agora criar um exemplo mais completo em que gerenciamos o login de um usuário usando $_SESSION
.
login.php
<?php
session_start();
// Simulação de autenticação bem-sucedida
if ($_SERVER['REQUEST_METHOD'] == 'POST' && $_POST['username'] == 'admin' && $_POST['password'] == '12345') {
$_SESSION['loggedin'] = true;
$_SESSION['username'] = 'admin';
header('Location: dashboard.php');
exit;
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Login</title>
</head>
<body>
<h2>Login</h2>
<form method="POST" action="login.php">
<label for="username">Usuário:</label>
<input type="text" name="username" id="username" required>
<br>
<label for="password">Senha:</label>
<input type="password" name="password" id="password" required>
<br>
<button type="submit">Entrar</button>
</form>
</body>
</html>
dashboard.php
<?php
session_start();
if (!isset($_SESSION['loggedin']) || $_SESSION['loggedin'] !== true) {
header('Location: login.php');
exit;
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Painel de Controle</title>
</head>
<body>
<h2>Bem-vindo, <?php echo $_SESSION['username']; ?>!</h2>
<p><a href="logout.php">Sair</a></p>
</body>
</html>
logout.php
<?php
session_start();
session_destroy();
header('Location: login.php');
exit;
?>
Conclusão
Sessões são uma ferramenta poderosa em PHP para manter informações persistentes sobre o usuário ao longo de suas interações com a aplicação. Com $_SESSION
, é possível armazenar dados de forma segura e acessá-los em diferentes páginas, proporcionando uma experiência de usuário mais rica e personalizada.
Para mais detalhes sobre sessões em PHP, consulte a documentação oficial do PHP.
Referências
Deixe seu comentário
Posts RELACIONADOS
Como Criar um Chat em Tempo Real com PHP e WebSockets
Neste tutorial, você aprenderá como criar um sistema de chat em tempo real utilizando WebSockets com PHP para o backend e HTML, CSS e JavaScript...
Como Instalar e Usar o Eloquent em um Projeto PHP: Exemplo de instalação e uso com a base Sakila
Neste post, você aprenderá como instalar e configurar o Eloquent ORM em um projeto PHP. Utilizaremos a base de dados Sakila, um exemplo clássico de...
Implementando MVC com Composer em PHP: Estrutura Completa com Arquivo de Rotas
Neste post, vamos explorar como estruturar um projeto PHP utilizando o padrão MVC (Model-View-Controller) e o Composer para gerenciar dependências. Abordaremos a configuração inicial, a...
Introdução à Programação Orientada a Objetos (POO) em PHP: Conceitos e Exemplo Prático
Introdução
A Programação Orientada a Objetos (POO) é um paradigma de programação que utiliza "objetos" para representar dados e funcionalidades. Em PHP, a POO é uma...Como Criar Funções em PHP: Guia com Exemplos Práticos
Neste post, você aprenderá como criar e utilizar funções em PHP. Vamos explorar a sintaxe básica, os parâmetros, valores de retorno e como as funções...
Realizando Requisições POST com PHP: Guia e Formulário de Exemplo
Neste post, você aprenderá como realizar requisições POST em PHP, enviando dados de um formulário HTML para o servidor. Vamos abordar a criação de um...
Requisições GET com PHP: Guia Completo com Exemplo de Formulário
Neste post, você aprenderá como realizar requisições GET em PHP. Vamos explorar a estrutura de uma requisição GET, criar um exemplo de formulário e mostrar...
Iniciando um Projeto PHP com Composer: Um Guia Prático
Neste post, você aprenderá como iniciar um projeto PHP do zero utilizando o Composer. Vamos cobrir a instalação do Composer, criação de um novo projeto,...
Explorando Arrays em PHP: Manipulação de Dados de Forma Eficiente
Neste post, você aprenderá sobre arrays em PHP, uma estrutura de dados fundamental. Vamos explorar a criação, manipulação e iteração de arrays, além de ver...
Explorando Laços de Repetição em PHP: Estruturas Essenciais
Entenda como utilizar diferentes laços de repetição em PHP para tornar seu código mais eficiente e organizado