Recuperando o valor de um cookie no PHP

Método correto para acessar o valor de um cookie no PHP e tratar casos em que o cookie pode não existir.

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.

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 cookie usuario 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.

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 e json_decode() ao recuperar o cookie.

Contribuições de Lucas Martins

Compartilhe este tutorial: Como recuperar o valor de um cookie no PHP?

Compartilhe este tutorial

Continue aprendendo:

Como criar um cookie no PHP?

Método passo a passo para criar cookies no PHP com diferentes configurações de segurança e tempo de expiração.

Tutorial anterior

Como deletar um cookie no PHP?

Método para excluir cookies no PHP corretamente, garantindo que não sejam mais acessíveis pelo navegador.

Próximo tutorial