Cookies em PHP

As cookies en PHP são muito fáceis de utilizar. Já começamos a explicar alguns pontos interessantes no artigo utilização de cookies no manual de PHP. Agora vamos mostrar outros detalhes que convém saber para trabalhar com as cookies, sobretudo com relação à sua criação.

Criar cookies em PHP

Em PHP as cookies se controlam por meio de uma função, que nos serve para gerá-las e guardá-las no navegador do usuário. É a função setcookies(), que recebe vários parâmetros, entre eles, o nome da cookie, o valor e a caducidade. O único parâmetro obrigatório é o primeiro, o nome da cookie, os demais são opcionais.

Vejamos a lista inteira de parâmetros de setcookie() com suas explicações:

Nome

Um string com o nome que queremos dar à cookie a ser guardada. Pode ser qualquer um que desejemos.

Valor

Uma cadeia de caracteres que é o valor que vai a ter a cookie.

Caducidade

É um timestamp com o valor da data em que expirará a cookie. O normal é utilizar a função time(), que gera o timestamp atual e somar a ele o número de segundos que acordemos que dure a cookie. Por exemplo, time() + (60 * 60 * 24 * 365) faria com que a cookie durasse um ano no sistema do usuário.

Rota

O caminho ou rota onde a cookie poderá ser utilizada dentro do domínio. Por padrão, a cookie poderá ser utilizada no diretório onde foi criada e em seus subdiretórios. Se indicamos “/” a cookie terá validade dentro de todo o domínio.

Domínio

É o subdomínio onde se poderá acessar a cookie. As cookies só podem ser geradas e utilizadas para o domínio da página onde está colocado o script, porém podemos torná-lo visível para todos os subdomínios do domínio da web por meio de “.meudominio.com”.

Seguro

É um booleano que, se é true, indica que a cookie só pode ser transmitida por shttp (http seguro).

Só http

Isto é outro booleano que serve para indicar que a cookie só será acessível por meio dos cabeçalhos do http, o que a tornaria inalcançável para linguagens de script no cliente como Javascript. Este parâmetro foi adicionado no PHP 5.2.0

A função setcookie() de PHP gera e envia a cookie ao navegador e retorna um booleano, se é true indica que foi incluída no navegador do usuário e se é false indica que não foi possível colocá-la no sistema. Contudo, este valor não indica que o visitante aceitou a cookie, posto que o navegador pode tê-lo configurado para não aceitar cookies e isso não pode ser detectado por setcookie() diretamente.

Por exemplo, estas seriam diferentes chamadas a setcookie():

setcookie(“minhacookie”, “meuvalor”);
setcookie(“cookie2”, “meuvalor2”, time() + 3600);
setcookie(“outracookie”, “valorfinal”, time() + 3600, “/”, “.meudominio.com”);

Porém, atenção com um assunto: enviar uma cookie ao navegador deve ser feito antes de ter mandado os cabeçalhos do http ao cliente, ou seja, antes de ter escrito qualquer texto na página. Caso contrário, PHP pode enviar um erro de headers already sent (cabeçalhos já enviados).

Recuperar cookies com PHP

Por outro lado, para receber as cookies que o navegador do usuário possa ter criadas no sistema se utiliza o array associativo $_COOKIE. Neste array estão todas as cookies disponíveis na página PHP no domínio e no diretório onde está colocado.

Por meio do nome da cookie acessamos seu valor:

$_COOKIE[“minhacookie”];
$_COOKIE[“cookie2”];

Fonte: http://www.criarweb.com/artigos/cookies-em-php.html

Deixe um comentário