SlideShare uma empresa 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 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 o Cookie 
expira quando terminar a sessão de navegação )
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 > pesquisar por localhost
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’];
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 
é bom, 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ças no código-fonte e teste em localhost
sessao.php 
criando _sessao.php apagando_sessao.php
Teste se usuário esta logado. 
Testando retorno sessao.php 
logado.php

Mais conteúdo relacionado

Mais procurados

PHP Aula 06 - Include, Require e Querystring
PHP Aula 06 - Include, Require e QuerystringPHP Aula 06 - Include, Require e Querystring
PHP Aula 06 - Include, Require e QuerystringDaniel Brandão
 
Manipulação de formulários com PHP. Uso de Cookies e Session com PHP.
Manipulação de formulários com PHP. Uso de Cookies e Session com PHP.Manipulação de formulários com PHP. Uso de Cookies e Session com PHP.
Manipulação de formulários com PHP. Uso de Cookies e Session com PHP.Leonardo Soares
 
Cookies e Sessões e PHP
Cookies e Sessões e PHPCookies e Sessões e PHP
Cookies e Sessões e PHPHumberto Moura
 
Segurança autenticação apache -ppt
Segurança autenticação apache -pptSegurança autenticação apache -ppt
Segurança autenticação apache -pptCarlos Melo
 
Configurando servidor web https no apache2 ed
Configurando servidor web https no apache2 edConfigurando servidor web https no apache2 ed
Configurando servidor web https no apache2 edCarlos Melo
 
Automatizar backup no pf sense [dica]
Automatizar backup no pf sense [dica]Automatizar backup no pf sense [dica]
Automatizar backup no pf sense [dica]João Augusto
 
Minicurso FEAPA - WordPress: Plataforma para criação de sites
Minicurso FEAPA - WordPress: Plataforma para criação de sitesMinicurso FEAPA - WordPress: Plataforma para criação de sites
Minicurso FEAPA - WordPress: Plataforma para criação de sitesJosé Stélio Malcher Jr.
 
Traduções no WordPress
Traduções no WordPressTraduções no WordPress
Traduções no WordPressBreno Alves
 
Minicurso PHP básico
Minicurso PHP básicoMinicurso PHP básico
Minicurso PHP básicoCezar Souza
 
Gerenciando sites em WordPress de forma eficiente: do deploy à manutenção
Gerenciando sites em WordPress de forma eficiente: do deploy à manutençãoGerenciando sites em WordPress de forma eficiente: do deploy à manutenção
Gerenciando sites em WordPress de forma eficiente: do deploy à manutençãospirallab
 
Aula 11 - Controle de sessão em PHP - Programação Web
Aula 11  - Controle de sessão em PHP - Programação WebAula 11  - Controle de sessão em PHP - Programação Web
Aula 11 - Controle de sessão em PHP - Programação WebDalton Martins
 
01 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.101 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.1César Augusto Pessôa
 
Plone - Poderoso e flexível
Plone - Poderoso e flexívelPlone - Poderoso e flexível
Plone - Poderoso e flexívelLucas Aquino
 

Mais procurados (20)

PHP Aula 06 - Include, Require e Querystring
PHP Aula 06 - Include, Require e QuerystringPHP Aula 06 - Include, Require e Querystring
PHP Aula 06 - Include, Require e Querystring
 
Manipulação de formulários com PHP. Uso de Cookies e Session com PHP.
Manipulação de formulários com PHP. Uso de Cookies e Session com PHP.Manipulação de formulários com PHP. Uso de Cookies e Session com PHP.
Manipulação de formulários com PHP. Uso de Cookies e Session com PHP.
 
Aula 5 - Cookies e Sessões em PHP
Aula 5 - Cookies e Sessões em PHPAula 5 - Cookies e Sessões em PHP
Aula 5 - Cookies e Sessões em PHP
 
Cookies e Sessões e PHP
Cookies e Sessões e PHPCookies e Sessões e PHP
Cookies e Sessões e PHP
 
Primeira Aula PHP
Primeira Aula PHPPrimeira Aula PHP
Primeira Aula PHP
 
Segurança autenticação apache -ppt
Segurança autenticação apache -pptSegurança autenticação apache -ppt
Segurança autenticação apache -ppt
 
Aula 5 php
Aula 5 phpAula 5 php
Aula 5 php
 
Configurando servidor web https no apache2 ed
Configurando servidor web https no apache2 edConfigurando servidor web https no apache2 ed
Configurando servidor web https no apache2 ed
 
Automatizar backup no pf sense [dica]
Automatizar backup no pf sense [dica]Automatizar backup no pf sense [dica]
Automatizar backup no pf sense [dica]
 
Procergs php-seguro
Procergs php-seguroProcergs php-seguro
Procergs php-seguro
 
Minicurso FEAPA - WordPress: Plataforma para criação de sites
Minicurso FEAPA - WordPress: Plataforma para criação de sitesMinicurso FEAPA - WordPress: Plataforma para criação de sites
Minicurso FEAPA - WordPress: Plataforma para criação de sites
 
Loop do wordpress
Loop do wordpressLoop do wordpress
Loop do wordpress
 
Iniciando com django
Iniciando com djangoIniciando com django
Iniciando com django
 
Traduções no WordPress
Traduções no WordPressTraduções no WordPress
Traduções no WordPress
 
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
 
Minicurso PHP básico
Minicurso PHP básicoMinicurso PHP básico
Minicurso PHP básico
 
Gerenciando sites em WordPress de forma eficiente: do deploy à manutenção
Gerenciando sites em WordPress de forma eficiente: do deploy à manutençãoGerenciando sites em WordPress de forma eficiente: do deploy à manutenção
Gerenciando sites em WordPress de forma eficiente: do deploy à manutenção
 
Aula 11 - Controle de sessão em PHP - Programação Web
Aula 11  - Controle de sessão em PHP - Programação WebAula 11  - Controle de sessão em PHP - Programação Web
Aula 11 - Controle de sessão em PHP - Programação Web
 
01 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.101 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.1
 
Plone - Poderoso e flexível
Plone - Poderoso e flexívelPlone - Poderoso e flexível
Plone - Poderoso e flexível
 

Semelhante a Cookies e Sessões 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
 
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
 
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
 
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
 
Minicurso de Cakephp
Minicurso de CakephpMinicurso de Cakephp
Minicurso de CakephpCauan Cabral
 
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
 
Explorando mecanismos autenticacao na web
Explorando mecanismos autenticacao na webExplorando mecanismos autenticacao na web
Explorando mecanismos autenticacao na webEduardo Cesar
 
Tutorial para criação de módulo no Xoops 2.4
Tutorial para criação de módulo no Xoops 2.4Tutorial para criação de módulo no Xoops 2.4
Tutorial para criação de módulo no Xoops 2.4Fabio Telles Rodriguez
 
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
 
[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
 

Semelhante a Cookies e Sessões PHP (20)

Sessao
SessaoSessao
Sessao
 
Cakephp 2.0 - O que mudou
Cakephp 2.0 - O que mudouCakephp 2.0 - O que mudou
Cakephp 2.0 - O que mudou
 
[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
 
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
 
Palestra
PalestraPalestra
Palestra
 
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
 
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
 
Php12
Php12Php12
Php12
 
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
 
Bloco 5.4
Bloco 5.4Bloco 5.4
Bloco 5.4
 
Crud
CrudCrud
Crud
 
Minicurso de Cakephp
Minicurso de CakephpMinicurso de Cakephp
Minicurso de Cakephp
 
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
 
Explorando mecanismos autenticacao na web
Explorando mecanismos autenticacao na webExplorando mecanismos autenticacao na web
Explorando mecanismos autenticacao na web
 
Tutorial para criação de módulo no Xoops 2.4
Tutorial para criação de módulo no Xoops 2.4Tutorial para criação de módulo no Xoops 2.4
Tutorial para criação de módulo no Xoops 2.4
 
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
 
Cake Php
Cake PhpCake Php
Cake Php
 
[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...
 

Cookies e Sessões 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 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 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.
  • 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 o Cookie expira quando terminar a sessão de navegação )
  • 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 > pesquisar por localhost
  • 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. 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 é bom, 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ças no código-fonte e teste em localhost
  • 11. sessao.php criando _sessao.php apagando_sessao.php
  • 12. Teste se usuário esta logado. Testando retorno sessao.php logado.php