Hoje é 04/07/25 - Dia do Operador de Telemarketing; Dia Mundial do Cooperativismo;


26/07/2006
Trabalhando com Cookies via PHP e o Dreamweaver

Tipo de notícia: Desenvolvimento

[Leandro Vieira] trabalha com desenvolvimento para web desde 2002, é Diretor da Plugsites.net e Administrador do projeto DWMX.

Devo iniciar este artigo explicando a todos o motivo da minha ausência por algumas semanas. Inicialmente pelo fato de minhas férias, e também por que estive envolvido no desenvolvimento de alguns projetos que consumiram uma considerável parte do meu tempo, e um desses foi o desenvolvimento de um novo curso em CD-ROM em parceria com o iMasters Shop, que deve ser lançado em breve.

Bom, hoje falaremos sobre cookies, conhecendo as funcionalidades de tal recurso, benefícios, desvantagens, como criá-los, excluí-los, editá-los e muito mais.

Primeiramente, vamos responder a seguinte pergunta: o que é um cookie? Sim, é um biscoito. Mas, infelizmente o cookie que abordaremos não nos oferece a possibilidade de desgutação. Que pena né?

Um cookie nada mais é do que um arquivo (.txt) criado por algum site que você visitou e armazenado em seu computador. Esse cookie contém algumas informações sobre você ou algumas de suas preferências referente a tal site visitado, ou algo mais ou algo menos. Somente o site que originou o cookie poderá comê-lo, ops, poderá lê-lo.

Com o conhecimento sobre o que é um cookie utilizado na internet, já imaginamos inúmeras possibilidades que podemos realizar com ele. E para ilustrar o nosso artigo e o trabalho envolvendo os cookies, vamos desenvolver o seguinte: criaremos um formulário onde o usuário informará o seu interesse por um assunto relacionado a web; com isso, poderemos exibir informações de acordo com o assunto escolhido.

A primeira coisa que precisaremos é de um formulário onde o usuário escolherá o seu interesse. Sendo assim, observe a imagem abaixo:

Faça o download da página do formulário neste link: exemplo do formulário.

Bom, o formulário irá direcionar o usuário para a página cookie.php; página essa que será a responsável em criar e exibir os interesses do usuário de acordo com o cookie criado. Outro detalhe, referente ao formulário, é que o seu método foi definido como "post" e o nome do select foi definido como "interesse".

Para criar cookies em PHP utilizamos a função setcookie. Mas, antes de partirmos para a criação, vamos conhecer as peculiaridades da criação de um cookie. Segundo o manual do PHP, devemos utilizar a função setcookie da seguinte forma:

"... antes de qualquer saída, incluindo as tags <html> e <head>, assim como quaisquer espaços em branco. Se já tiver sido enviada qualquer saída antes dessa função, setcookie() irá falhar e retornar FALSE. Se setcookie() for bem sucedida, irá retornar TRUE. Isto não indica que o usuário aceitou o cookie."

Observe um erro comum e corriqueiro entre alguns desenvolvedores web:

Warning: Cannot modify header information - headers already sent by...

Por que tal erro foi retornado? Por que a criação do cookie foi feita na hora errada, ou seja, após alguma saída ou após algum espaço em branco. Por isso que muitos desenvolvedores ficam "loucos" em revisar o seu código e ver que não há nenhum erro aparente, mas o erro continua acontecendo. Cuidado com isto, uma vez que esse erro não ocorre somente na criação de cookies.

Então, vamos inicar o nosso código, recebendo o interesse do usuário que ele informou através do formulário. Observe a imagem:

Primeira coisa: observe que nosso código inicia-se antes de tudo, ou seja, antes de qualquer saída e que não há nenhum espaço em branco antes da tag <?php.

O que fizemos foi criar uma variável, que chamei-a de assunto "$assunto" e definir o seu valor como proveniente do campo que teve o seu nome definido como interesse e o método do formulário como POST, então, temos: $_POST[interesse].

A função setcookie contém seis parâmetros que podem ser definidos, todos eles podem ser conferidos nesta página. Neste artigo, abordaremos três deles, sendo: name - o nome do cookie; value - o valor do cookie e expire - o tempo necessário para o cookie expirar, ou seja, o seu tempo de vida na máquina do usuário. Observe:

Na linha 3 (três) do código demonstrado na imagem acima, temos a utilização da função setcookie, onde definimos o seguinte: interesse como o nome do cookie; a variável $assunto como o valor do cookie e dizemos que ele (cookie) irá expirar em 30 dias.

Esse tempo de expiração é definido com a função time() somado ao número de segundos desejados para a expiração, no exemplo acima, temos: 3600*24*30 = 3600s = 1h vezes 24h = 1 dia vezes 30. Totalizando os 30 dias desejado.

Uma vez que o cookie foi criado, você poderá ler o valor desse cookie, verificar se realmente ele foi criado, editá-lo ou excluí-lo.

O Dreamweaver, através do painel Bindins (Ctrl + F10) lhe auxilia no código para a leitura de um cookie. Vamos ver como isto funciona. No referido painel, acese a opção: Cookie Variable. Veja a imagem abaixo com sua localização:

Ao clicar na opção, teremos o painel Cookie Variable e nele precisamos apenas informar o nome do cookie desejado, em nosso caso: interesse. Observe:

Após tal procedimento, teremos no painel Bindings a "Cookie Variable" que criamos, veja:

O que significa dizer, se você quiser ler o conteúdo do cookie interesse, basta arrastar para a página (php) a "Cookie Variable" criada, o que resultaria no seguinte código:

Para verificarmos se o cookie realmente foi criado, utilizamos o recurso isset que tem a função de verificar se a variável foi criada, então, procederíamos assim:

Com o código acima, exibiremos a mensagem: "O cookie: interesse foi criado.", se o cookie realmente tiver sido criado, ou a mensagem: "O cookie: interesse NÃO foi criado.".

Para deletar um cookie é muito simples. Basta informamos o tempo de expiração com uma data no passado, assim:

O código acima irá excluir o cookie interesse.

Agora, vamos desenvolver o que foi definido como o objetivo deste artigo: exibir links de artigos ou informações de acordo com o assunto escolhido. É muito simples, observe o código abaixo:

O que fizemos acima, foi utilizar o switch para verificar o valor do cookie interesse, e para cada valor do cookie - Acessibilidade, Usabilidade, ... - exibiremos a informação desejada. Simples, não é?

Antes de concluirmos este artigo, preciso lhe informar o seguinte: NUNCA guarde informações sensíveis como senhas em cookies, uma vez que eles podem ser lidos facilmente. É importante lhe notificar que a aceitação de cookies pode ser bloqueada pelo usuário através do seu navegador, o que significa dizer que alguns usuários poderão recusar o cookie que sua página está tentando criar.

 


Produtos

Caneca Stanley

Caneca Stanley

Canaca Stanley 1.18L

Starlink Mini

Starlink Mini

Antena de internet Via Satélite Starlink Mini

Cervejeira Consul 82 L

Cervejeira Consul 82 L

Cervejeira Consul Titanium 82L Display Na Porta

Starlink 4ª Geração

Starlink 4ª Geração

Antena de Internet Starlink Via Satélite Standard Kit V4 com Roteador

Chopeira Beertender

Chopeira Beertender

Chopeira Beertender Krups Heineken com Capacidade de 5 Litros Preta

DJI Mini 4K

DJI Mini 4K

Drone DJI Mini 4K controle sem tela


Notícias

Data Título
Fequaju 2025 02/07/2025 Fequaju 2025
FINECAP 2025 09/06/2025 FINECAP 2025
Programação completa do Pingo da Mei Dia 2025 05/06/2025 Programação completa do Pingo da Mei Dia 2025
Abracerva divulga as melhores cervejas do Nordeste do Brasil de 2025 19/05/2025 Abracerva divulga as melhores cervejas do Nordeste do Brasil de 2025
Pint of Science Natal 2025 19/05/2025 Pint of Science Natal 2025
Expo Seridó 2025 18/05/2025 Expo Seridó 2025
Festival Gastronômico e Cultural de Martins 2025 18/05/2025 Festival Gastronômico e Cultural de Martins 2025
São João de Gravatá 2025 05/05/2025 São João de Gravatá 2025
Festa de Santana de Caicó 2025 01/05/2025 Festa de Santana de Caicó 2025
São João Arretado de Carpina 2025 23/04/2025 São João Arretado de Carpina 2025
São João da Carvalheira 2025 12/04/2025 São João da Carvalheira 2025
Circuito Gastronômico Sabores da Serra 2025 02/04/2025 Circuito Gastronômico Sabores da Serra 2025