Olá! Tuesday, 17 de October de 2017.



Dicas CódigoFonte.net
Saturday, 09 de July de 2005

Trabalhando com Cookies no PHP

E ai, galera? todo mundo blza? hoje vou ensinar a todos a mexerem com COOKIES, os famosos arquivos-espiões, utilizando PHP, claro.

Vamos começar:

O que são cookies?

- Cookies são arquivos-texto (espiões) que são abertos (criados) no computador de usuários para se recuperar dados de qualquer página, os cookies podem ser vistos pelos donos das máquinas, e ser editado (possivelmente) por eles, mas, isso não é um grande problema pois podemos (pelo PHP) ver se os cookies são válidos (caso queiramos validá-los), o problema é que existem navegadores como o IE e o NetsCape que proibem a entrada destes arquivos em um computador, o ideal seria o uso de Sessions mesmo com suas desvantagens

O que podemos fazer com o cookies?

- Com os cookies pode ser feito "TUDO" que sua imaginação permitir, mas as principais causas que eles são utilizadas são:

- Verificar se um usuário já logou no site (isto é, validar se o cookie existe no computador)
- Verificar se um usuário já votou na enquete do site ( || )
- Carrinho de compras para armazenar os produtos comprados

Criando cookies com o php

- Criar um cookie com o php é muito simples, a sintaxe básica da criação é:

  1. setcookie("nome_do_cookie", "valor_do_cookie");


Lembrando que este trecho deve estar no inicio do código da página, até mesmo antes de TAGS HTML.

O cookie criado será "excluído" automaticamente, ao se fechar o Browser

Para criar um cookie válido por 48 horas fazemos:

[cf<?
setcookie("usuário", $user, time()+172800);
?>[/cf]

O cookie criado tem o nome de Usuário com o valor $user, que seria Rafael (vamos supor que tenha o valor de rafael) e será excluído depois de 48 horas que ficar no computador do usuário (48 horas são iguais a 172800 segundos), mesmo com o fechamento do browser!


Excluindo um cookie com php

- Para se excluir um cookie com PHP antes do tempo determinado ou antes do fechamento do browser, fazemos o seguinte (supondo que queremos excluir o cookie usuário):

  1. setcookie("usuário");


O comando setcookie também exclui um cookie, mas para exluir-mos devemos colocar somente o nome do cookie e não o seu valor, por isso tome cuidado, se quiser criar um cookie NULO (sem valor) fazemos o seguinte:

  1. setcookie("usuário", "");


Seria criado o cookie usuário com o valor nulo!

Podemos também excluir um cookie por uma variável (para se excluir um cookie também deve estar no topo da pagina o setcookie) por exemplo, vamos dar o nome cookie pra um campo de texto, o usuário digita no campo "uusário" para deletar-mos o cookie com o nome digitado no campo fazemos o seguinte:

  1. setcookie($usuario);


Simples, não?

Abrindo cookies com o PHP

- Para abrir um cookie no PHP usamos o array superglobal $_COOKIE, entre chaves e aspas o nome do cookie! para ler-mos um cookie (com o nome idade, supondo que ele tenha o valor 21) fazemos o seguinte:

  1. $_COOKIE["idade"];


Para exibir o conteudo dele com php fazemos:

  1. <?
  2. echo "O valor do cookie é:" . $_COOKIE["idade"];
  3. ?>


OU

  1. <?
  2. echo $_COOKIE["idade"];
  3. ?>


Isso seria útil para ver se uma senha estivesse de acordo com o usuário ou se existe um registro em um banco de dados ou file TXT com a idade 21!

Verificando se um cookie existe

- A sintaxe para descobrir se um cookie existe é a segiunte:

  1. if(isset($_COOKIE["nome"]))


Para verificar-mos se um cookie existe com php fazemos:

  1. <?
  2. $nome_do_cookie = "nome";
  3. if(isset($_COOKIE[$nome_do_cookie]))
  4. {
  5. echo "O cookie $nome_do_cookie existe! ";
  6. }
  7. else
  8. {
  9. echo "O cookie $nome_do_cookie não existe!";
  10. }
  11. ?>


Se o cookie não existisse seria mostrada a mensagem: O cookie nome não existe, e se existisse apareceria: O cookie nome não existe!

Criando cookies com caminho, dominio e seguro

- Para se criar um cookie com o nome IDADE com segurança (a página deve ser HTTPS e no cookie deve ter um valor 1), com um caminho específico do dominio que o cookie estará válido, e um domínio específico, válido por 48 horas fazemos:

  1. setcookie("idade", "21", time()+172800, "/dir", "www.google.com.br", "1");


Criamos um cookie com o nome "idade" com o valor 21 válido por 48 horas, válido somente para o diretório /dir com o domínio google e com uma conexão segura (melhor, pois o IE aceita mais cookies seguros), pois utilizamos o valor 1 que indica que o cookie é seguro se fosse utilzado 0 ele seria inseguro, isso seria muito útil caso quisesse enviar cookies seguros com HTTPS ou cookies válidos só para o diretório "user" por exemplo!

Erros

Caso houve algum erro com o script entre em contato, mas , a idéia é essa mesma, se tiver dúvida é só falar! flw!

Logo colocarei um artigo de como criar um sistema de username e senha com PHP/Cookies/MySql com até caixa de mensagens! e também o uso de sessions!

Comentários do artigo [Novo comentário]

Marcelo - 26 de March de 2009 - 13:05
Eu tenho um site e e tem um sistema de login com sessios mas queria colocar um sistema de bloqueio de usuarios indesejados, que possibilitase bloquear a maquina por cookies, assim impediria o usuario de criar outra conta,pelo menos por um tempo,caso seja por exemplo um lan house, eu sei que nao é totalmente eficiente mas seria mais uma coisa p/ atrapalhar.

como seria esse sistema?
Para adicionar um comentário você deve efetuar o login


Gostou do CódigoFonte.net? Quer indicar a um amigo?
Preencha os campos a seguir.
Seu Nome:
Seu E-mail:
E-mail de seu Amigo:


CodigoFonte.net » Meu Mural » Competiva - Criação de Sites » Todos os Direitos Reservados © 2002/2010