Unidade C – Introdução a linguagem PHP – parte 4

Cookies

Outra forma de manter dados para posterior acesso em outras páginas do site é através do uso de cookies. Só que diferentemente da sessão, o cookie é um arquivo texto armazenado no computador do usuário e pode ser recuperado posteriormente pelo servidor.

O uso de cookies, por exemplo, permite que o usuário após ter se autenticado em um site, desligue o computador, acesse o site um tempo depois e não precise se autenticar novamente. Ex: GMail, Hotmail, Yahoo, etc. Para utilizar esse recurso, geralmente o usuário precisa aceitar algum tipo de opção como “salvar as minhas informações neste computador”.  Além disso, é preciso que o navegador do usuário esteja com a opção de armazenar cookies habilitada.

Vamos ver como isso pode ser configurado no Firefox:

- clique no menu Ferramentas ou Tools e depois em Opções ou Options;
- clique na guia Privacidade ou Privacy e, na seção Cookies, ative a opção “Sites podem definir Cookies” ou “Allow sites to set cookies”.Veja na figura C.35.

Vamos ver agora como definir um cookie em PHP:


Na definição de um cookie os dois primeiros parâmetros são obrigatórios: nome do cookie e valor do cookie. No entanto, outros parâmetros podem ser definidos. Veja abaixo:


Nome nome do cookie.
Valor valor do cookie.
Expira tempo para o cookie expirar (número de segundos desde 01/01/1970).
Caminho caminho no servidor aonde o cookie estará disponível.
Domínio

domínio para qual o domínio estará disponível.

Seguro (true/false) indica que o cookie só poderá ser transmitido sob uma conexão segura HTTPS do cliente. 

Http

(true/false) quando for TRUE, o cookie será acessível somente sob o protocolo HTTP. Isso significa que o cookie não será acessível por linguagens de script, como JavaScript.

Vamos a um exemplo. Veja o código da figura C.36 e faça o teste na sua máquina.

Você deve ter observado que na função setcookie foram passados três parâmetros. O terceiro parâmetro é referente ao tempo de validade do cookie. Nesse caso, foi definido que o cookie tem validade de uma hora (tempo atual + 3600 segundos). Vamos ver onde este cookie foi criado na sua máquina. Se o seu navegador for Firefox, acesse o menu Ferramentas e depois Opções. Clique em “Exibir Cookies”. A figura C.37 mostra a visualização da janela que é apresentada. Na figura é possível observar as informações relativas ao cookie.


 

Se você possuir muitos cookies, uma opção é excluir todos eles e depois executar o arquivo para geração do cookie. Assim, você vai encontrar facilmente o cookie gerado.

 

Para recuperar os dados do cookie usamos o array superglobal do PHP  $_COOKIE[], passando o nome do cookie como parâmetro. Veja na figura C.38 um código de exemplo.

Se for necessário remover um cookie, basta usar a mesma função setcookiet com o nome do cookie e com a string vazia (um exemplo pode ser visto na figura C.39).