SlideShare una empresa de Scribd logo
1 de 36
Descargar para leer sin conexión
Sessões	e	Cookies	em	PHP
Prof.	Humberto	Jorge	de	Moura	Costa
humberto@humbertomoura.com.br
25/11/2015
Habilidades
üIdentificar	e	aplicar	os	fundamentos	de	cookies	e	sessões;
üObter	e	salvar	dados	de	cookies;
üManipular	dados	em	sessões;
üUtilizar sessões	e cookies adequadamente;
2
Aula	de	Hoje	– Cookies	e	Sessões
üIntrodução	/	Problema	Exemplo
üRevisão	- HTTP	Stateless
üCookies
üSessões
üTrabalho	Individual
3
Introdução	/	Problema	Exemplo	– Loja	Virtual
4
HTTP	é Stateless	
üNão	se	lembra	de	requisições	/	respostas	anteriores
Maria
(Itorian,	2012)
5
HTTP	é Stateless	
üNão	se	lembra	de	requisições	/	respostas	anteriores
João
6
Principais	Opções:	Cookies	e	Sessões
$_COOKIE $_SESSION
7
Cookie
"Um	cookie é	um	pequeno	texto	que	os	sites	podem	enviar	aos	
navegadores,	anexado	a	qualquer	conexão.	Nas	visitas	posteriores	o	
navegador	reenvia	os	dados	para	o	servidor	dono	do	cookie.	Um	cookie	é	
transmitido	até	que	perca	a	validade,	que	é	definida	pelo	site”.
(PHP	Manual,	2015)
8
Cookies	/	Exemplo	Pasta	Internet	Explorer:
9
Cookie	/	Exemplo	IFRS
javascript:alert(document.cookie) 10
Cookie	/	Exemplo	IFRS
Acesso:	Preferências,	Privacidade,	remover	cookies	individualmente
11
Exemplos	de	Uso	de	Cookies
üPersonalizar	o	conteúdo	de	um	site;
üRastrear	usuários,	ao	navegar	por	páginas;
üIdentificar	visitantes	únicos;
üArmazenar	informações	no	cliente.
12
Características	do	Cookies
üArmazenam	os	dados	no	lado	cliente	(Client Side);
üFicam	armazenados	na	área	de	cookies	do	navegador;
üUsuários	pode	excluir	cookies	a	qualquer	momento;
üO	acesso	aos	cookies	é	restrito	por	site.
üPossuem	um	nome;
üPossuem	um	conteúdo;
üPossuem	um	tempo	de	vida	(Pode	ser	longo);
13
Cookies	/	Principais	Ações	
üCriar	um	novo	cookie;
üAtualizar	um	cookie	existente;
üExcluir	um	cookie;
üObter	o	valor	de	um	cookie	específico;
üObter	todos	os	cookies.
14
Criar	/	atualizar	um	novo	Cookie
üPodemos	usar	a	função	setcookie()	para	criar	um	cookie;
üsetcookie()	deve	ser	chamado	antes	que	qualquer	dado	seja	enviado	ao	
navegador;
üCaso	não	será	especificado	o	tempo,	durará	enquanto	o	navegador	estiver	
aberto.
15
Cookies	em	PHP	/	Buscar	um	Cookie	Específico
üUtilizamos	o	array associativo	$_COOKIE[]	para	obter	um	cookie;
üDevemos	colocar	o	nome	do	cookie	existente	como	índice do	array;
üEste	valor	pode	ser	armazenado	em	uma	variável	ou	realizada	qualquer	
operação	válida	no	PHP.
16
Cookies	em	PHP	/	Buscar	todos	os	Cookies
üPodemos	percorrer	todos	os	cookies	através	de	um	laço	foreach.
üArmazenamos	o	nome	e	o	valor	nas	respectivas	variáveis	utilizadas	no	
laço.
17
Cookies	em	PHP	/	Excluir	um	Cookie
üPodemos	utilizar	a	função	unset()	com	o	nome	do	cookie;
üOu	também	utilizar	a	função	setcookie() com	o	tempo	já	expirado.
üTambém	podemos	excluir	colocando	somente	o	nome	no	setcookie().
18
Erros	Comuns
üTentar	criar	um	cookie	após	ter	escrito	no	navegador;
üErro	de	digitação	no	nome	do	cookie.
üUtilizar	um	cookie	já	expirado,	portanto,	não	existe	mais.
üSugestão:	utilizar	isset()	para	verificar	se	existe.
19
Exemplo	de	Problema	/	Cookies
“A	loja	de	acessórios	para	animais	“PetPlace”	pensando	em	superar	a	crise	
econômica,	decidiu	atualizar	o	seu	web	site.	Os	proprietários	da	loja,	
solicitaram	ao	desenvolvedor	do	site,	caso	fosse	a	primeira	visita	do	cliente,	
exibir	o	Banner	de	uma	promoção	de	Ração	para	cães.
20
Exemplo	– Tela	do	Banner	Promoção
Site	Atual Site	deve	carregar	banner	na	primeira	vez21
Solução
üBuscar	um	cookie	que	indica	se	é		visitante	antigo;
üTestar	ao	entrar	na	página,	se	o	cookie	existe;
üCaso	exista,	não	exibir	o	banner.		Se	não	existir,	exibir	o	banner	e	criar	o	
cookie	para	marcar	como	visitante	antigo	nas	próximas	visitas	ao	site.
22
Sessões	(Session)
“Sessão é	um	forma	de	preservar	dados	entre	acessos	subsequentes	do	
usuário.	Um	identificador	único,	chamado	id	de	sessão	é	associado	a	cada	
visitante	no	site.”
23
Sessões	/	Exemplo	– Carrinho	de	compras
24
Exemplos	de	Uso	de	Sessões
üPersonalizar	o	conteúdo	de	um	site;
üRastrear	usuários,	ao	navegar	por	páginas;
üIdentificar	usuários;
üArmazenar	informações	no	servidor.
25
Características	das	Sessões
üArmazenam	os	dados	no	lado	servidor(Server	Side);
üA	maioria	utiliza	cookies	internamente.
üTambém	podem	ser	usadas	por	reescrita	de	URL	ao	invés	de	cookies;
üSão	muito	utilizadas	para	autenticação	através	de	login.
üPossuem	um	id	(PHPSESSID);
üPossuem	variáveis	de	sessão;
26
Sessões	/	Principais	Ações	
üIniciar	uma	sessão;
üLer	e	gravar	variáveis	da	sessão;
üExcluir	variáveis	de	sessão;
üDestruir	a	sessão.
27
Ler	/	Gravar	Variáveis	na	Sessão	
üUtilizamos	o	array associativo	$_SESSION	para	ler	e	gravar;
28
Excluir	Variáveis	de	Sessão	
üUtilizamos	a	função	unset() com	o	nome	da	variável	de	parâmetro.
29
Destruir	a	Sessão	
üUtilizamos	a	função	session_destroy() para	excluir	a	sessão.
üAntes	de	excluí-la	devemos	excluir	as	variáveis	de	sessão.
30
Erros	Comuns	- Sessões
üTentar	criar	um	sessão	após	ter	escrito	no	navegador;
üErro	de	digitação	no	nome	das	variáveis	de	sessão.
üUtilizar	uma	variável	de	sessão	já	expirada,	portanto,	não	existe	mais.
üChamar	session_destroy,	sem	antes	excluir	as	variáveis	de	sessão.
31
(Trabalho	Individual)	/	Sessões
“A	loja	de	acessórios	para	animais	“PetPlace”	ficou	feliz	com	a	solução	
apresentada	anteriormente,	e	com	as	vendas,	superou	a	crise	econômica.	
Agora,	os	proprietários	da	loja,	solicitam	um	cadastro	de	usuário	e	senha	
(login)	para	o	site,	pois	pretendem	vender	os	produtos	pelo	site.	
32
Exemplo	– Tela	de	Cadastro
Web	site	Inicial Web	Site	com	Tela	de	Cadastro 33
Dicas	para	a	Solução
üDesenvolver	um	cadastro	de	usuário	e	senha	com	Banco	de	Dados
üDesenvolver	um	carrinho	de	compras	usando	sessões	e/ou	cookies.
üOs	produtos	podem	ser	inseridos	e	excluídos	no	carrinho	de	compras.
34
Referências
CONVERSE,	T;	PARK,	J.	PHP	a	Bíblia.	Editora	Campus	Elsevier,	2003.
DALL’OGLIO,	P.	PHP	:	Programando	com	Orientação	a	Objetos.	Editora	Novatec,	2009.
GILMORE,	W.	J.	Dominando	PHP	e	MySQL:	do	Iniciante	ao	Profissional.	Alta	Books.	2008.
ITORIAN.	Microsoft	Technology	Journals by Abhimanyu K Vatsa.	Disponível	em	
<http://www.itorian.com/2012/09/tcp-is-stateful-protocol-and-http-is.html>	Acesso	em	
24/11/2015.
PHP	Manual.	Disponível	em	<http://php.net/manual/pt_BR/>	Acesso	em	24/11/2015.	
35
Dúvidas
Obrigado!
E-mail:	humberto@humbertomoura.com.br
36

Más contenido relacionado

La actualidad más candente

Avarias mais comuns nos computadores
Avarias mais comuns nos computadoresAvarias mais comuns nos computadores
Avarias mais comuns nos computadores
edlander
 
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
Dalton Martins
 
Endereços de ip, tipos de endereços,
Endereços de ip, tipos de endereços,Endereços de ip, tipos de endereços,
Endereços de ip, tipos de endereços,
H P
 

La actualidad más candente (20)

Dhcp
DhcpDhcp
Dhcp
 
Redes de computadores 2 - Aula 6 - DNS, DHCP
Redes de computadores 2 - Aula 6 - DNS, DHCPRedes de computadores 2 - Aula 6 - DNS, DHCP
Redes de computadores 2 - Aula 6 - DNS, DHCP
 
Firewall
FirewallFirewall
Firewall
 
Endereçamento IPV4
Endereçamento IPV4Endereçamento IPV4
Endereçamento IPV4
 
Escalabilidade, Sharding, Paralelismo e Bigdata com PostgreSQL? Yes, we can!
Escalabilidade, Sharding, Paralelismo e Bigdata com PostgreSQL? Yes, we can!Escalabilidade, Sharding, Paralelismo e Bigdata com PostgreSQL? Yes, we can!
Escalabilidade, Sharding, Paralelismo e Bigdata com PostgreSQL? Yes, we can!
 
Memórias
MemóriasMemórias
Memórias
 
UML
UMLUML
UML
 
Avarias mais comuns nos computadores
Avarias mais comuns nos computadoresAvarias mais comuns nos computadores
Avarias mais comuns nos computadores
 
CISC e RISC
CISC e RISCCISC e RISC
CISC e RISC
 
As vantagens e desvantagens da aplicação de padrões de projeto
As vantagens e desvantagens da aplicação de padrões de projetoAs vantagens e desvantagens da aplicação de padrões de projeto
As vantagens e desvantagens da aplicação de padrões de projeto
 
Aula 15 processadores
Aula 15 processadoresAula 15 processadores
Aula 15 processadores
 
Protocolos HTTP e HTTPS
Protocolos HTTP e HTTPSProtocolos HTTP e HTTPS
Protocolos HTTP e HTTPS
 
Modelo TCP/IP
Modelo TCP/IPModelo TCP/IP
Modelo TCP/IP
 
Arquitetura de computadores – memórias
Arquitetura de computadores – memóriasArquitetura de computadores – memórias
Arquitetura de computadores – memórias
 
Protocolo IPv4
Protocolo IPv4Protocolo IPv4
Protocolo IPv4
 
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
 
Tipos de Dados Multimédia e Formatos Standard
Tipos de Dados Multimédia e Formatos StandardTipos de Dados Multimédia e Formatos Standard
Tipos de Dados Multimédia e Formatos Standard
 
Memória Interna - Arquitetura e Organização de Computadores
Memória Interna - Arquitetura e Organização de ComputadoresMemória Interna - Arquitetura e Organização de Computadores
Memória Interna - Arquitetura e Organização de Computadores
 
Apresentação HTML e CSS
Apresentação HTML e CSSApresentação HTML e CSS
Apresentação HTML e CSS
 
Endereços de ip, tipos de endereços,
Endereços de ip, tipos de endereços,Endereços de ip, tipos de endereços,
Endereços de ip, tipos de endereços,
 

Destacado

Serversidephp pptx2-120418140114-phpapp01
Serversidephp pptx2-120418140114-phpapp01Serversidephp pptx2-120418140114-phpapp01
Serversidephp pptx2-120418140114-phpapp01
joaocarlobarros
 
Palestra Flisol 2012 - Campinas
Palestra Flisol 2012 - CampinasPalestra Flisol 2012 - Campinas
Palestra Flisol 2012 - Campinas
Anderson de Castro
 
Como implementar APIs RESTful em PHP
Como implementar APIs RESTful em PHPComo implementar APIs RESTful em PHP
Como implementar APIs RESTful em PHP
Pablo Aguiar
 
Construindo uma Rede Social com PHP e Software Livre
Construindo uma Rede Social com PHP e Software LivreConstruindo uma Rede Social com PHP e Software Livre
Construindo uma Rede Social com PHP e Software Livre
Elton Minetto
 
Consuming RESTful services in PHP
Consuming RESTful services in PHPConsuming RESTful services in PHP
Consuming RESTful services in PHP
Zoran Jeremic
 
Consumindo dados via web service no android
Consumindo dados via web service no androidConsumindo dados via web service no android
Consumindo dados via web service no android
Alexandre Antunes
 

Destacado (20)

Sessions in php
Sessions in php Sessions in php
Sessions in php
 
Strings, Arrays e Manipulação Datas em PHP
Strings, Arrays e Manipulação Datas em PHPStrings, Arrays e Manipulação Datas em PHP
Strings, Arrays e Manipulação Datas em PHP
 
Serversidephp pptx2-120418140114-phpapp01
Serversidephp pptx2-120418140114-phpapp01Serversidephp pptx2-120418140114-phpapp01
Serversidephp pptx2-120418140114-phpapp01
 
Palestra Flisol 2012 - Campinas
Palestra Flisol 2012 - CampinasPalestra Flisol 2012 - Campinas
Palestra Flisol 2012 - Campinas
 
Slides
SlidesSlides
Slides
 
Php 05 Mvc
Php 05 MvcPhp 05 Mvc
Php 05 Mvc
 
Test-Driven Development with PHP
Test-Driven Development with PHPTest-Driven Development with PHP
Test-Driven Development with PHP
 
Criando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSONCriando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSON
 
Variaveis Superglobais
Variaveis SuperglobaisVariaveis Superglobais
Variaveis Superglobais
 
Desenvolvimento Mobile Web usando PHP
Desenvolvimento Mobile Web usando PHPDesenvolvimento Mobile Web usando PHP
Desenvolvimento Mobile Web usando PHP
 
Web Service and PHP, REST and SOAP
Web Service and PHP, REST and SOAPWeb Service and PHP, REST and SOAP
Web Service and PHP, REST and SOAP
 
Como implementar APIs RESTful em PHP
Como implementar APIs RESTful em PHPComo implementar APIs RESTful em PHP
Como implementar APIs RESTful em PHP
 
Construindo uma Rede Social com PHP e Software Livre
Construindo uma Rede Social com PHP e Software LivreConstruindo uma Rede Social com PHP e Software Livre
Construindo uma Rede Social com PHP e Software Livre
 
Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
 
php4android: desenvolva aplicações android em PHP
php4android: desenvolva aplicações android em PHPphp4android: desenvolva aplicações android em PHP
php4android: desenvolva aplicações android em PHP
 
Servicio y Consumo de Servicios REST en PHP
Servicio y Consumo de Servicios REST en PHPServicio y Consumo de Servicios REST en PHP
Servicio y Consumo de Servicios REST en PHP
 
Consuming RESTful services in PHP
Consuming RESTful services in PHPConsuming RESTful services in PHP
Consuming RESTful services in PHP
 
Rest api design by george reese
Rest api design by george reeseRest api design by george reese
Rest api design by george reese
 
Consumindo dados via web service no android
Consumindo dados via web service no androidConsumindo dados via web service no android
Consumindo dados via web service no android
 
Desenvolvimento em Três Camadas com PHP, MVC e Ajax
Desenvolvimento em Três Camadas com PHP, MVC e AjaxDesenvolvimento em Três Camadas com PHP, MVC e Ajax
Desenvolvimento em Três Camadas com PHP, MVC e Ajax
 

Similar a Cookies e Sessões e PHP

Supercombo Serpro - Amostra
Supercombo Serpro - AmostraSupercombo Serpro - Amostra
Supercombo Serpro - Amostra
Walter Cunha
 
Inovaesp10roadmapp11 100310083709 Phpapp02
Inovaesp10roadmapp11 100310083709 Phpapp02Inovaesp10roadmapp11 100310083709 Phpapp02
Inovaesp10roadmapp11 100310083709 Phpapp02
Rafael Marega
 
Aumente a performance de seu site de maneira disciplinada
Aumente a performance de seu site de maneira disciplinadaAumente a performance de seu site de maneira disciplinada
Aumente a performance de seu site de maneira disciplinada
Henrique Lima
 

Similar a Cookies e Sessões e PHP (20)

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
 
Aula 5
Aula 5Aula 5
Aula 5
 
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
 
Web Storage - Armazenamento de dados
Web Storage - Armazenamento de dadosWeb Storage - Armazenamento de dados
Web Storage - Armazenamento de dados
 
PHP MySQL Aula 08
PHP MySQL Aula 08PHP MySQL Aula 08
PHP MySQL Aula 08
 
Bloco 5.4
Bloco 5.4Bloco 5.4
Bloco 5.4
 
Delete, a virtude do esquecimento na era digital
Delete, a virtude do esquecimento na era digitalDelete, a virtude do esquecimento na era digital
Delete, a virtude do esquecimento na era digital
 
Supercombo Serpro - Amostra
Supercombo Serpro - AmostraSupercombo Serpro - Amostra
Supercombo Serpro - Amostra
 
JavaScript - #Aula05 parte 08 - Cookies
JavaScript - #Aula05 parte 08 - CookiesJavaScript - #Aula05 parte 08 - Cookies
JavaScript - #Aula05 parte 08 - Cookies
 
trabalho
trabalhotrabalho
trabalho
 
relatorio (4).pdf
relatorio (4).pdfrelatorio (4).pdf
relatorio (4).pdf
 
Sessao
SessaoSessao
Sessao
 
Inovaesp10roadmapp11 100310083709 Phpapp02
Inovaesp10roadmapp11 100310083709 Phpapp02Inovaesp10roadmapp11 100310083709 Phpapp02
Inovaesp10roadmapp11 100310083709 Phpapp02
 
Cookies
CookiesCookies
Cookies
 
Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...
Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...
Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...
 
Aumente a performance de seu site de maneira disciplinada
Aumente a performance de seu site de maneira disciplinadaAumente a performance de seu site de maneira disciplinada
Aumente a performance de seu site de maneira disciplinada
 
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
 
Solução Intranet Corporativa - Taugor Intranet 14
Solução Intranet Corporativa - Taugor Intranet 14Solução Intranet Corporativa - Taugor Intranet 14
Solução Intranet Corporativa - Taugor Intranet 14
 
Introdução a Banco de Dados (Parte 1)
Introdução a Banco de Dados (Parte 1)Introdução a Banco de Dados (Parte 1)
Introdução a Banco de Dados (Parte 1)
 
Big Data
Big DataBig Data
Big Data
 

Cookies e Sessões e PHP