Fala pessoal!
Estou de volta e hoje vou ensinar pra vocês como manipular os cookies do seu site usando o PHP.
Antes, vamos à definição de cookie da Wikipédia:
Cookie é um grupo de dados trocados entre o navegador e o servidor de páginas, colocado num arquivo (ficheiro) de texto criado no computador do utilizador. A sua função principal é a de manter a persistência de sessões HTTP. (...) Um exemplo é aquele cookie que um site cria para que você não precise digitar sua senha novamente quando for ao site outra vez. Outros sites podem utilizá-los para guardar as preferências do usuário, por exemplo, quando o sítio lhe permite escolher uma cor de fundo para suas páginas.
Como dito na definição wikipediana, cookies podem ser usados para armazenar dados do visitante, por exemplo: o idioma escolhido pelo visitante.
Felizmente você só precisa aprender uma função para manipular cookies! Essa função é a setcookie() do PHP. Vamos a alguns exemplos:
Você pode reparar que, nos exemplos acima, que a função teve até três parâmetros: nome do cookie (1), valor do cookie (2) e duração do cookie (3). Existem ainda mais quatro parâmetros (pouco comuns) que você poderá usar (veja mais aqui).
Se você não definir o tempo de vida (duração) de um cookie, ele irá durar o tempo que o browser permanecer aberto. Para definir o tempo de vida do cookie é só somar o número de segundos desejados ao resultado da função time(), por exemplo: cinco horas são 18000 segundos, então ficaria: 18000 + time(), ou (3600 * 5) + time(). Uma dica: cada hora tem 3600 segundos e cada dia tem 86400 segundos.
Se você quiser pegar o valor de um cookie depois, em outra página do seu site, é só usar esse exemplo:
Vale lembrar que o cookie precisa existir para você pegar o seu valor… Se ele passou da validade (expirou) ele não existe mais, então é sempre bom fazer uma verificação com a função isset() do PHP.
Se por algum motivo você precisar deletar algum cookie é só não definir um valor para ele, fazendo dessa forma:
Outra forma de deletar um cookie é colocando o seu tempo de vida no passado.
Atenção: Cookie são parecidos com Sessões no fato de trabalharem com headers HTTP, então eles precisam ser definidos e manipulados antes de você enviar qualquer HTML para o navegador do visitante ou você receberá um erro. Outro ponto importante é que, por esse fator, os cookies só estarão disponíveis para leitura (através da variável $_COOKIE) após o próximo carregamento de página.
Se você quiser saber todos os cookies que estão setados e acessíveis pelo seu site, é só usar a função print_r() dessa forma:
Ela irá mostrar todos os cookies e seus respectivos valores.
Espero que tenham gostado de mais esse mini-tutorial sobre as maravilhas do PHP.
Amanhã tem mais… muito mais!
Até a próxima ;-)
Documentação Oficial:
- Função [setcookie()](http://br.php.net/setcookie) » Cria e deleta cookies
- Função [isset()](http://br.php.net/isset) » Verifica se uma variável existe
- Função [print_r()](http://br.php.net/print_r) » Exibe todos os elementos e valores de um array