iwtraining

Usando Cookies no PHP Back-end

Usando Cookies no PHP

Os cookies foram desenvolvidos pela Netscape para corrigir uma deficiência observada na interação entre servidores da Web e navegadores. Você pode usar um cookie para armazenar informações no cliente quando um usuário visitar seu site. Essas informações podem ser usadas para identificar o usuário quando ele retornar ao seu site, por exemplo.

Há dois tipos de cookies: cookies de sessão e cookies persistentes. Os cookies de sessão são armazenados na memória. Permanecem no computador do cliente somente enquanto ele está visitando o seu site. O cookie persistente, por sua vez, duram o tempo que você, desenvolvedor, desejar.

O PHP suporta transparentemente cookies HTTP como os definidos pela especificação da Netscape. Você pode criar cookies com a função setcookie( ). Cookies são parte do cabeçalho HTTP, então, a função setcookie( ) precisa ser chamada antes de qualquer saída ser enviada ao browser. Qualquer cookie enviado será automaticamente transformados em variável PHP, da mesma maneira que dados potados via GET ou POST.

A função tem o seguinte escopo:

int setcookie ( string nome [, string valor [, int expiração [, string caminho [, string domínio [, int segurança]]]]])

Todos os argumentos, exceto o nome são opcionais. A expiração é um argumento de tempo em inteiro regular do Unix, portanto somente poderá ser retornado pelas funções time( ).

<?php 
setcookie("MeuCookie", "Testando", time()+3600); 
?> 
<html> 
<head> 
 <title>Exemplo de Cookie</title> 
</head> 
<body> 
 <h1>Seu cookie foi enviado com sucesso</h1> 
</body> 
</html>

Neste exemplo mostro claramente que o cookie deve ser enviado para o cliente antes de qualquer saída. Veja uma outra maneira, porém, este é um exemplo de cookie com erro:

<html> 
<head> 
<?php 
setcookie("MeuCookie", "Testando", time()+3600); 
?> 
<title>Exemplo de Cookie</title> 
</head> 
<body> 
 <h1>Seu cookie foi enviado com sucesso</h1> 
</body> 
</html>

Para recuperar o valor de um cookie, você pode usar o método abreviado abaixo:

echo $_COOKIE["MeuCookie"];

Removendo um cookie criado

Para remover um cookie criado, você deve retroceder o tempo utilizado na criação do mesmo.

<? 
setcookie("MeuCookie", "", time( )+1); 
?>

Está com duvidas?

Aluno iwtraining tem acesso a um fórum exclusivo para discutir com os instrutores e outros alunos. Acesse agora mesmo!

Posts Relacionados

Deixe um comentário