Hoje é 14/05/24 - Dia do Segurador;


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.

 



Notícias

Data Título
07/05/2024 Programação do São João 2024 de João Pessoa
27/04/2024 Programação da Festa de Sant’Ana 2024
26/04/2024 Fortal irá ocorrer em uma nova Cidade Fortal
21/04/2024 Pecuária de Goiânia 2024
14/04/2024 Forró du Vale abre os festejos juninos do interior da Bahia
07/04/2024 Festival Gastronômico de Lagoa Nova/RN 2024
24/03/2024 São João 2024 de Campina Grande
23/03/2024 São João 2024 de Cruz das Almas
19/03/2024 São João de Assú/RN 2024
14/03/2024 Festival Forrozar
13/03/2024 Samba da Raffe realiza edição especial St. Patrick’s
11/03/2024 Altofolia 2024