Aula 5 
 Cookies e Sessões 
 Metas 
 Criar e utilizar cookies e sessões na linguagem PHP. 
 Pré-requisitos 
 Lógica de Programação e HTML; 
 Linguagens de Programação I. 
 Objetivos 
 Conhecer os principais conceitos relacionados com os 
cookies e as sessões; 
 Aprender a criar cookies e sessões em PHP; 
 Entender a implementação destes recursos em PHP.
Para que servem Cookies e Sessões? 
 O protocolo HTTP é stateless, ou seja, ele não mantém um 
estado/conexão. Toda a interação que o seu cliente fizer 
com um servidorWeb acarretará em uma nova requisição e 
resposta. 
 As requisições são independentes e possuem um tempo de 
vida (conexão, envio de mensagem, resposta, encerramento 
da conexão). O servidorWeb não é capaz de identificar se 
duas requisições vieram de um mesmo navegador, e o 
mesmo não faz nenhum gerenciamento em memória para 
que mensagens sejam compartilhadas entre requisições. 
 É para suprir esta necessidade que entram os cookies e 
sessões
Cookies 
 Utilizado para armazenar informações no 
computador/máquina do usuário/cliente mesmo que o 
navegador seja fechado sem o uso de um banco de 
dados. 
 Preferências de usuário também utilizam Cookies 
 Através de cookies o servidorWeb é capaz de trocar 
informações de estado com o navegador do usuário. 
Desse modo, somos capazes de adicionar produtos a 
um carrinho de compras, sem perder estas 
informações ao mudar de página, sair do website ou até 
mesmo fechar o navegador.
Uso de Cookies em PHP 
 O uso de Cookies em PHP envolve basicamente dois 
passos: 
1. Criar o Cookie 
2. Recuperar o valor do Cookie 
 Na criação do cookie indicamos qual informação será salva 
(deve ser uma String) e criamos um identificador para 
referenciá-la 
int setCookie(“nome”, “valor”, tempo_expiração); Nome e valor 
são obrigátorios 
 Uma vez definido o Cookie podemos referenciá-lo através 
da super global $_COOKIE, um array associativo onde suas 
chaves são os nomes dados durante a criação do Cookie 
 Pode-se definir parâmetros de data e hora (tempo) que essa 
informação irá expirar. (Se não definir o tempo 
indeterminado)
exemplo_cookie.php
Como encontrá-lo no navegador 
 Chrome: Configurações > configurações avançadas > 
privacidade > Configurações de conteúdo > Todos os 
cookies e dados de sites > pesquisar por localhost 
 Frefox: Ferramentas > Opções > Privacidade > excluir 
cookies em Particular > localhot
Note que a partir da versão 5.3.10 do PHP 
o array HTTP_COOKIE_VARS 
Foi substituído apenas por $_COOKIE 
meucookie.php
Sessão 
 Informações ficam armazenadas no servidor 
 Session é um tipo único de variável, que uma vez criada 
existe até que o browser seja fechado. 
 Ela é única por browser e por usuário 
 Pode ser acessada em qualquer página PHP, dentro de 
qualquer método ou função (em PHP é uma variável 
Superglobal – ou seja disponível em todos os escopos do 
código PHP-) 
 Para situações onde há a necessidade de que a informação 
seja mantida, mas não por tempo suficiente que justifique 
seu armazenamento em banco de dados ou Cookies 
 Informações sobre o usuário que está logado
Utilizando Session em nossa página 
 Session para o PHP é uma variável do tipo array 
associativo, composto por chaves e valores 
 Acessível através da variável $_SESSION[‘ ’] 
 Adicionamos um valor à Session e atribuímos um 
nome (chave/índice) para que possamos acessar este 
valor posteriormente 
$_SESSION[‘chave’ ] = valor; 
$_SESSION[‘login’] = $_POST[‘login’];
sessao.php 
criando _sessao.php apagando_sessao.php
Teste se usuário esta logado. 
Testando retorno sessao.php 
logado.php
sessao1.php e sessao2.php 
 Devido as recentes atualizações nas versões do PHP as funções 
session_is_registered() e session_unregister() estão OBSOLETAS, 
porém isso não impede seu funcionamento até a versão 5.4.0 do PHP. 
O indicado é utilizar as funções isset() e unset() respectivamente 
para substituí-las, pois elas tem esse mesmo propósito. 
 Algo comum na linguagem de programação PHP é a atualização de 
alguns códigos. O PHP avisa através da mensagem DEPRECATED. 
Isso não é ruim, pois possibilitando a manutenção desse código, 
sempre irá gerar emprego para programadores dessa linguagem. 
sessao3.php e sessao4.php 
Baixe os arquivos da plataforma, veja a diferença no código-fonte e teste em localhost

Aula 5 - Cookies e Sessões em PHP

  • 1.
    Aula 5 Cookies e Sessões  Metas  Criar e utilizar cookies e sessões na linguagem PHP.  Pré-requisitos  Lógica de Programação e HTML;  Linguagens de Programação I.  Objetivos  Conhecer os principais conceitos relacionados com os cookies e as sessões;  Aprender a criar cookies e sessões em PHP;  Entender a implementação destes recursos em PHP.
  • 2.
    Para que servemCookies e Sessões?  O protocolo HTTP é stateless, ou seja, ele não mantém um estado/conexão. Toda a interação que o seu cliente fizer com um servidorWeb acarretará em uma nova requisição e resposta.  As requisições são independentes e possuem um tempo de vida (conexão, envio de mensagem, resposta, encerramento da conexão). O servidorWeb não é capaz de identificar se duas requisições vieram de um mesmo navegador, e o mesmo não faz nenhum gerenciamento em memória para que mensagens sejam compartilhadas entre requisições.  É para suprir esta necessidade que entram os cookies e sessões
  • 3.
    Cookies  Utilizadopara armazenar informações no computador/máquina do usuário/cliente mesmo que o navegador seja fechado sem o uso de um banco de dados.  Preferências de usuário também utilizam Cookies  Através de cookies o servidorWeb é capaz de trocar informações de estado com o navegador do usuário. Desse modo, somos capazes de adicionar produtos a um carrinho de compras, sem perder estas informações ao mudar de página, sair do website ou até mesmo fechar o navegador.
  • 4.
    Uso de Cookiesem PHP  O uso de Cookies em PHP envolve basicamente dois passos: 1. Criar o Cookie 2. Recuperar o valor do Cookie  Na criação do cookie indicamos qual informação será salva (deve ser uma String) e criamos um identificador para referenciá-la int setCookie(“nome”, “valor”, tempo_expiração); Nome e valor são obrigátorios  Uma vez definido o Cookie podemos referenciá-lo através da super global $_COOKIE, um array associativo onde suas chaves são os nomes dados durante a criação do Cookie  Pode-se definir parâmetros de data e hora (tempo) que essa informação irá expirar. (Se não definir o tempo indeterminado)
  • 5.
  • 6.
    Como encontrá-lo nonavegador  Chrome: Configurações > configurações avançadas > privacidade > Configurações de conteúdo > Todos os cookies e dados de sites > pesquisar por localhost  Frefox: Ferramentas > Opções > Privacidade > excluir cookies em Particular > localhot
  • 7.
    Note que apartir da versão 5.3.10 do PHP o array HTTP_COOKIE_VARS Foi substituído apenas por $_COOKIE meucookie.php
  • 8.
    Sessão  Informaçõesficam armazenadas no servidor  Session é um tipo único de variável, que uma vez criada existe até que o browser seja fechado.  Ela é única por browser e por usuário  Pode ser acessada em qualquer página PHP, dentro de qualquer método ou função (em PHP é uma variável Superglobal – ou seja disponível em todos os escopos do código PHP-)  Para situações onde há a necessidade de que a informação seja mantida, mas não por tempo suficiente que justifique seu armazenamento em banco de dados ou Cookies  Informações sobre o usuário que está logado
  • 9.
    Utilizando Session emnossa página  Session para o PHP é uma variável do tipo array associativo, composto por chaves e valores  Acessível através da variável $_SESSION[‘ ’]  Adicionamos um valor à Session e atribuímos um nome (chave/índice) para que possamos acessar este valor posteriormente $_SESSION[‘chave’ ] = valor; $_SESSION[‘login’] = $_POST[‘login’];
  • 10.
    sessao.php criando _sessao.phpapagando_sessao.php
  • 11.
    Teste se usuárioesta logado. Testando retorno sessao.php logado.php
  • 12.
    sessao1.php e sessao2.php  Devido as recentes atualizações nas versões do PHP as funções session_is_registered() e session_unregister() estão OBSOLETAS, porém isso não impede seu funcionamento até a versão 5.4.0 do PHP. O indicado é utilizar as funções isset() e unset() respectivamente para substituí-las, pois elas tem esse mesmo propósito.  Algo comum na linguagem de programação PHP é a atualização de alguns códigos. O PHP avisa através da mensagem DEPRECATED. Isso não é ruim, pois possibilitando a manutenção desse código, sempre irá gerar emprego para programadores dessa linguagem. sessao3.php e sessao4.php Baixe os arquivos da plataforma, veja a diferença no código-fonte e teste em localhost