SlideShare una empresa de Scribd logo
1 de 12
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 servidor Web 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 servidor Web 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 servidor Web é 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 as diferença no código-fonte e teste em localhost

Más contenido relacionado

La actualidad más candente

Programação web ii aulas 05 e 06
Programação web ii   aulas 05 e 06Programação web ii   aulas 05 e 06
Programação web ii aulas 05 e 06Yuri Bispo
 
Aula 7_8-Upload e contador de acessos com PHP
Aula 7_8-Upload e contador de acessos com PHPAula 7_8-Upload e contador de acessos com PHP
Aula 7_8-Upload e contador de acessos com PHPLucas Augusto Fagundes
 
PHP Aula 05 - E-mails, Cookies e Sessoes
PHP Aula 05 - E-mails, Cookies e SessoesPHP Aula 05 - E-mails, Cookies e Sessoes
PHP Aula 05 - E-mails, Cookies e SessoesDaniel Brandão
 
Configurando banco de dados e ODBC - TOTVS Série 1 Manufatura
Configurando banco de dados e ODBC - TOTVS Série 1 ManufaturaConfigurando banco de dados e ODBC - TOTVS Série 1 Manufatura
Configurando banco de dados e ODBC - TOTVS Série 1 ManufaturaÉder Hernandes
 
Gerenciando senhas com o kee pass password safe
Gerenciando senhas com o kee pass password safeGerenciando senhas com o kee pass password safe
Gerenciando senhas com o kee pass password safeAlberto Rocha
 
Novidades do Django 1.2 e o que vem por ai
Novidades do Django 1.2 e o que vem por aiNovidades do Django 1.2 e o que vem por ai
Novidades do Django 1.2 e o que vem por aiMarcos Petry
 
Progweb Aula8
Progweb Aula8Progweb Aula8
Progweb Aula8softeam
 
Framework Codeigniter - Sessão
Framework Codeigniter - SessãoFramework Codeigniter - Sessão
Framework Codeigniter - SessãoMultside Digital
 
Sessões (in portuguese)
Sessões (in portuguese)Sessões (in portuguese)
Sessões (in portuguese)Bruno Pedro
 
Lab so-abertos-unidade12
Lab so-abertos-unidade12Lab so-abertos-unidade12
Lab so-abertos-unidade12Leandro Almeida
 
Encriptar é preciso - SQL Server
Encriptar é preciso - SQL ServerEncriptar é preciso - SQL Server
Encriptar é preciso - SQL Serverbigleka
 

La actualidad más candente (20)

Programação web ii aulas 05 e 06
Programação web ii   aulas 05 e 06Programação web ii   aulas 05 e 06
Programação web ii aulas 05 e 06
 
Aula 7_8-Upload e contador de acessos com PHP
Aula 7_8-Upload e contador de acessos com PHPAula 7_8-Upload e contador de acessos com PHP
Aula 7_8-Upload e contador de acessos com PHP
 
PHP Aula 05 - E-mails, Cookies e Sessoes
PHP Aula 05 - E-mails, Cookies e SessoesPHP Aula 05 - E-mails, Cookies e Sessoes
PHP Aula 05 - E-mails, Cookies e Sessoes
 
Cookies
CookiesCookies
Cookies
 
Configurando banco de dados e ODBC - TOTVS Série 1 Manufatura
Configurando banco de dados e ODBC - TOTVS Série 1 ManufaturaConfigurando banco de dados e ODBC - TOTVS Série 1 Manufatura
Configurando banco de dados e ODBC - TOTVS Série 1 Manufatura
 
Gerenciando senhas com o kee pass password safe
Gerenciando senhas com o kee pass password safeGerenciando senhas com o kee pass password safe
Gerenciando senhas com o kee pass password safe
 
Php12
Php12Php12
Php12
 
Novidades do Django 1.2 e o que vem por ai
Novidades do Django 1.2 e o que vem por aiNovidades do Django 1.2 e o que vem por ai
Novidades do Django 1.2 e o que vem por ai
 
Conteudo curso php
Conteudo curso phpConteudo curso php
Conteudo curso php
 
Prog web 05-php-mysql
Prog web 05-php-mysqlProg web 05-php-mysql
Prog web 05-php-mysql
 
Progweb Aula8
Progweb Aula8Progweb Aula8
Progweb Aula8
 
Framework Codeigniter - Sessão
Framework Codeigniter - SessãoFramework Codeigniter - Sessão
Framework Codeigniter - Sessão
 
Bloco 5.4
Bloco 5.4Bloco 5.4
Bloco 5.4
 
Aula 6
Aula 6Aula 6
Aula 6
 
Sessões (in portuguese)
Sessões (in portuguese)Sessões (in portuguese)
Sessões (in portuguese)
 
Lab so-abertos-unidade12
Lab so-abertos-unidade12Lab so-abertos-unidade12
Lab so-abertos-unidade12
 
XML - Parte 4
XML - Parte 4XML - Parte 4
XML - Parte 4
 
Drupal - Perfis de instalacao e Drush make
Drupal - Perfis de instalacao e Drush makeDrupal - Perfis de instalacao e Drush make
Drupal - Perfis de instalacao e Drush make
 
Aprofunde se no php 5.3
Aprofunde se no php 5.3Aprofunde se no php 5.3
Aprofunde se no php 5.3
 
Encriptar é preciso - SQL Server
Encriptar é preciso - SQL ServerEncriptar é preciso - SQL Server
Encriptar é preciso - SQL Server
 

Similar a Aula 5 - Cookies e sessões em PHP

[TDC2015] De unitário a aceitação: Automação de testes com Codeception
[TDC2015] De unitário a aceitação: Automação de testes com Codeception[TDC2015] De unitário a aceitação: Automação de testes com Codeception
[TDC2015] De unitário a aceitação: Automação de testes com CodeceptionQualister
 
Prog web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosProg web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosRegis Magalhães
 
Prog web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosProg web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosRegis Magalhães
 
03 - Aplicações web com ASP.net v1.0
03 - Aplicações web com ASP.net v1.003 - Aplicações web com ASP.net v1.0
03 - Aplicações web com ASP.net v1.0César Augusto Pessôa
 
Programação Server Side I - Aula 2
Programação Server Side I - Aula 2Programação Server Side I - Aula 2
Programação Server Side I - Aula 2Antonio Passos
 
Slide 01 introdução ao php e ao code igniter
Slide 01   introdução ao php e ao code igniterSlide 01   introdução ao php e ao code igniter
Slide 01 introdução ao php e ao code igniterRaniere de Lima
 
[DTC21] Rodrigo Branas - Segurança na Web: Será que o seu sistema está realme...
[DTC21] Rodrigo Branas - Segurança na Web: Será que o seu sistema está realme...[DTC21] Rodrigo Branas - Segurança na Web: Será que o seu sistema está realme...
[DTC21] Rodrigo Branas - Segurança na Web: Será que o seu sistema está realme...Deep Tech Brasil
 
Explorando mecanismos autenticacao na web
Explorando mecanismos autenticacao na webExplorando mecanismos autenticacao na web
Explorando mecanismos autenticacao na webEduardo Cesar
 
Desenvolvendo sistemas seguros com PHP
Desenvolvendo sistemas seguros com PHPDesenvolvendo sistemas seguros com PHP
Desenvolvendo sistemas seguros com PHPFlavio Souza
 
Segurança autenticação apache -ppt
Segurança autenticação apache -pptSegurança autenticação apache -ppt
Segurança autenticação apache -pptCarlos Melo
 
Gestão automática de configuração usando puppet
Gestão automática de configuração usando puppetGestão automática de configuração usando puppet
Gestão automática de configuração usando puppetDaniel Sobral
 
Minicurso de Cakephp
Minicurso de CakephpMinicurso de Cakephp
Minicurso de CakephpCauan Cabral
 

Similar a Aula 5 - Cookies e sessões em PHP (20)

[TDC2015] De unitário a aceitação: Automação de testes com Codeception
[TDC2015] De unitário a aceitação: Automação de testes com Codeception[TDC2015] De unitário a aceitação: Automação de testes com Codeception
[TDC2015] De unitário a aceitação: Automação de testes com Codeception
 
Sessões
SessõesSessões
Sessões
 
Sessao
SessaoSessao
Sessao
 
Prog web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosProg web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhos
 
Prog web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosProg web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhos
 
Cakephp 2.0 - O que mudou
Cakephp 2.0 - O que mudouCakephp 2.0 - O que mudou
Cakephp 2.0 - O que mudou
 
03 - Aplicações web com ASP.net v1.0
03 - Aplicações web com ASP.net v1.003 - Aplicações web com ASP.net v1.0
03 - Aplicações web com ASP.net v1.0
 
PHP MySQL Aula 08
PHP MySQL Aula 08PHP MySQL Aula 08
PHP MySQL Aula 08
 
Programação Server Side I - Aula 2
Programação Server Side I - Aula 2Programação Server Side I - Aula 2
Programação Server Side I - Aula 2
 
Slide 01 introdução ao php e ao code igniter
Slide 01   introdução ao php e ao code igniterSlide 01   introdução ao php e ao code igniter
Slide 01 introdução ao php e ao code igniter
 
[DTC21] Rodrigo Branas - Segurança na Web: Será que o seu sistema está realme...
[DTC21] Rodrigo Branas - Segurança na Web: Será que o seu sistema está realme...[DTC21] Rodrigo Branas - Segurança na Web: Será que o seu sistema está realme...
[DTC21] Rodrigo Branas - Segurança na Web: Será que o seu sistema está realme...
 
Sistema php
Sistema phpSistema php
Sistema php
 
Explorando mecanismos autenticacao na web
Explorando mecanismos autenticacao na webExplorando mecanismos autenticacao na web
Explorando mecanismos autenticacao na web
 
Desenvolvendo sistemas seguros com PHP
Desenvolvendo sistemas seguros com PHPDesenvolvendo sistemas seguros com PHP
Desenvolvendo sistemas seguros com PHP
 
Segurança autenticação apache -ppt
Segurança autenticação apache -pptSegurança autenticação apache -ppt
Segurança autenticação apache -ppt
 
PHP FrameWARks - CakePHP
PHP FrameWARks - CakePHPPHP FrameWARks - CakePHP
PHP FrameWARks - CakePHP
 
Palestra
PalestraPalestra
Palestra
 
Gestão automática de configuração usando puppet
Gestão automática de configuração usando puppetGestão automática de configuração usando puppet
Gestão automática de configuração usando puppet
 
Desafio Rest API
Desafio Rest APIDesafio Rest API
Desafio Rest API
 
Minicurso de Cakephp
Minicurso de CakephpMinicurso de Cakephp
Minicurso de Cakephp
 

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 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 servidor Web 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 servidor Web 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 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 servidor Web é 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 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)
  • 6. 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
  • 7. 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
  • 8. 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
  • 9. 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’];
  • 10. sessao.php criando _sessao.php apagando_sessao.php
  • 11. Teste se usuário esta 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 as diferença no código-fonte e teste em localhost