Introdução
Os cookies são usados para armazenar informações no navegador do usuário e podem ser acessados posteriormente pelo PHP. Para recuperar um cookie no PHP, utilizamos a superglobal $_COOKIE
.
Como acessar o valor de um cookie
Se um cookie foi previamente criado, podemos acessá-lo diretamente com $_COOKIE
:
if (isset($_COOKIE['usuario'])) {
echo 'Usuário: ' . $_COOKIE['usuario'];
} else {
echo 'Cookie não encontrado!';
}
Explicação do código:
isset($_COOKIE['usuario'])
: Verifica se o cookieusuario
existe.echo $_COOKIE['usuario'];
: Exibe o valor armazenado no cookie.
Lidando com cookies que podem não existir
Em algumas situações, o cookie pode ainda não estar disponível na primeira requisição. Uma abordagem segura é utilizar o operador de coalescência nula (??
):
$usuario = $_COOKIE['usuario'] ?? 'Visitante';
echo 'Bem-vindo, ' . $usuario;
Aqui, se o cookie usuario
não existir, a variável assumirá o valor Visitante
.
Recuperando cookies com múltiplos valores
Podemos armazenar múltiplos valores em um único cookie usando json_encode()
e recuperar esses valores com json_decode()
:
if (isset($_COOKIE['dados_usuario'])) {
$dados = json_decode($_COOKIE['dados_usuario'], true);
echo 'Nome: ' . $dados['nome'] . '<br>Email: ' . $dados['email'];
}
Se o cookie armazenar {"nome": "João", "email": "joao@email.com"}
, o PHP conseguirá recuperar e exibir essas informações corretamente.
Conclusão
Recuperar o valor de um cookie no PHP é simples, mas requer verificações para evitar erros. Sempre valide se o cookie existe antes de acessá-lo e utilize abordagens seguras para lidar com valores ausentes.
Por que validar cookies antes de usá-los no PHP é importante?
Os cookies desempenham um papel essencial na experiência do usuário em aplicações web. Desde manter usuários autenticados até personalizar preferências, eles armazenam informações que podem ser acessadas posteriormente pelo PHP.
No entanto, é importante lembrar que cookies são enviados pelo navegador e podem ser manipulados pelo usuário. Por isso, nunca confie diretamente nos valores armazenados sem validar ou sanitizar os dados recebidos. Além disso, cookies têm restrições, como tamanho máximo e tempo de expiração, que devem ser considerados ao utilizá-los em sistemas críticos.
Uma prática recomendada é utilizar cookies apenas para armazenar identificadores ou dados que não comprometam a segurança da aplicação. Para informações mais sensíveis, o ideal é utilizar sessões ou armazenar os dados no servidor e referenciá-los via cookies de forma segura.
Algumas aplicações:
- Recuperar preferências do usuário, como idioma e tema.
- Manter o usuário autenticado sem precisar fazer login novamente.
- Exibir mensagens personalizadas com base em interações anteriores.
- Salvar configurações temporárias sem necessidade de banco de dados.
Dicas para quem está começando
- Sempre verifique se o cookie existe antes de acessá-lo usando
isset()
. - Use
$_COOKIE['nome_do_cookie'] ?? 'valor_padrao'
para evitar erros. - Cookies podem ser manipulados pelo usuário, então nunca confie cegamente nos dados.
- Evite armazenar informações sensíveis em cookies, pois eles são visíveis pelo cliente.
- Se precisar armazenar múltiplos valores, use
json_encode()
ao definir ejson_decode()
ao recuperar o cookie.
Contribuições de Lucas Martins