cookies e sessões e php

36
Sessões e Cookies em PHP Prof. Humberto Jorge de Moura Costa [email protected] 25/11/2015

Upload: humberto-moura

Post on 07-Jan-2017

493 views

Category:

Internet


1 download

TRANSCRIPT

Page 1: Cookies e Sessões e PHP

SessõeseCookiesemPHP

[email protected]

25/11/2015

Page 2: Cookies e Sessões e PHP

Habilidades

üIdentificareaplicarosfundamentosdecookiesesessões;üObteresalvardadosdecookies;üManipulardadosemsessões;üUtilizar sessõese cookies adequadamente;

2

Page 3: Cookies e Sessões e PHP

AuladeHoje– CookieseSessões

üIntrodução/ProblemaExemploüRevisão- HTTPStatelessüCookiesüSessõesüTrabalhoIndividual

3

Page 4: Cookies e Sessões e PHP

Introdução/ProblemaExemplo– LojaVirtual

4

Page 5: Cookies e Sessões e PHP

HTTPé Stateless

üNãoselembraderequisições/respostasanteriores

Maria

(Itorian,2012)5

Page 6: Cookies e Sessões e PHP

HTTPé Stateless

üNãoselembraderequisições/respostasanteriores

João

6

Page 7: Cookies e Sessões e PHP

PrincipaisOpções:CookieseSessões

$_COOKIE $_SESSION7

Page 8: Cookies e Sessões e PHP

Cookie

"Umcookie éumpequenotextoqueossitespodemenviaraosnavegadores,anexadoaqualquerconexão.Nasvisitasposterioresonavegadorreenviaosdadosparaoservidordonodocookie.Umcookieétransmitidoatéquepercaavalidade,queédefinidapelosite”.

(PHPManual,2015)

8

Page 9: Cookies e Sessões e PHP

Cookies/ExemploPastaInternetExplorer:

9

Page 10: Cookies e Sessões e PHP

Cookie/ExemploIFRS

javascript:alert(document.cookie) 10

Page 11: Cookies e Sessões e PHP

Cookie/ExemploIFRS

Acesso:Preferências,Privacidade,removercookiesindividualmente11

Page 12: Cookies e Sessões e PHP

ExemplosdeUsodeCookies

üPersonalizaroconteúdodeumsite;üRastrearusuários,aonavegarporpáginas;üIdentificarvisitantesúnicos;üArmazenarinformaçõesnocliente.

12

Page 13: Cookies e Sessões e PHP

CaracterísticasdoCookies

üArmazenamosdadosnoladocliente(Client Side);üFicamarmazenadosnaáreadecookiesdonavegador;üUsuáriospodeexcluircookiesaqualquermomento;üOacessoaoscookiesérestritoporsite.

üPossuemumnome;üPossuemumconteúdo;üPossuemumtempodevida(Podeserlongo);

13

Page 14: Cookies e Sessões e PHP

Cookies/PrincipaisAções

üCriarumnovocookie;üAtualizarumcookieexistente;üExcluirumcookie;üObterovalordeumcookieespecífico;üObtertodososcookies.

14

Page 15: Cookies e Sessões e PHP

Criar/atualizarumnovoCookie

üPodemosusarafunçãosetcookie()paracriarumcookie;üsetcookie()deveserchamadoantesquequalquerdadosejaenviadoaonavegador;

üCasonãoseráespecificadootempo,duraráenquantoonavegadorestiveraberto.

15

Page 16: Cookies e Sessões e PHP

CookiesemPHP/BuscarumCookieEspecífico

üUtilizamosoarray associativo$_COOKIE[]paraobterumcookie;üDevemoscolocaronomedocookieexistentecomoíndice doarray;üEstevalorpodeserarmazenadoemumavariávelourealizadaqualqueroperaçãoválidanoPHP.

16

Page 17: Cookies e Sessões e PHP

CookiesemPHP/BuscartodososCookies

üPodemospercorrertodososcookiesatravésdeumlaçoforeach.üArmazenamosonomeeovalornasrespectivasvariáveisutilizadasnolaço.

17

Page 18: Cookies e Sessões e PHP

CookiesemPHP/ExcluirumCookie

üPodemosutilizarafunçãounset()comonomedocookie;üOutambémutilizarafunçãosetcookie() comotempojáexpirado.üTambémpodemosexcluircolocandosomenteonomenosetcookie().

18

Page 19: Cookies e Sessões e PHP

ErrosComuns

üTentarcriarumcookieapósterescritononavegador;üErrodedigitaçãononomedocookie.üUtilizarumcookiejáexpirado,portanto,nãoexistemais.üSugestão:utilizarisset()paraverificarseexiste.

19

Page 20: Cookies e Sessões e PHP

ExemplodeProblema/Cookies

“Alojadeacessóriosparaanimais“PetPlace”pensandoemsuperaracriseeconômica,decidiuatualizaroseuwebsite.Osproprietáriosdaloja,solicitaramaodesenvolvedordosite,casofosseaprimeiravisitadocliente,exibiroBannerdeumapromoçãodeRaçãoparacães.

20

Page 21: Cookies e Sessões e PHP

Exemplo– TeladoBannerPromoção

SiteAtual Sitedevecarregarbannernaprimeiravez21

Page 22: Cookies e Sessões e PHP

Solução

üBuscarumcookiequeindicaseévisitanteantigo;üTestaraoentrarnapágina,seocookieexiste;üCasoexista,nãoexibirobanner.Senãoexistir,exibirobannerecriarocookieparamarcarcomovisitanteantigonaspróximasvisitasaosite.

22

Page 23: Cookies e Sessões e PHP

Sessões(Session)“Sessão éumformadepreservardadosentreacessossubsequentesdousuário.Umidentificadorúnico,chamadoiddesessãoéassociadoacadavisitantenosite.”

23

Page 24: Cookies e Sessões e PHP

Sessões/Exemplo– Carrinhodecompras

24

Page 25: Cookies e Sessões e PHP

ExemplosdeUsodeSessões

üPersonalizaroconteúdodeumsite;üRastrearusuários,aonavegarporpáginas;üIdentificarusuários;üArmazenarinformaçõesnoservidor.

25

Page 26: Cookies e Sessões e PHP

CaracterísticasdasSessões

üArmazenamosdadosnoladoservidor(ServerSide);üAmaioriautilizacookiesinternamente.üTambémpodemserusadasporreescritadeURLaoinvésdecookies;üSãomuitoutilizadasparaautenticaçãoatravésdelogin.

üPossuemumid(PHPSESSID);üPossuemvariáveisdesessão;

26

Page 27: Cookies e Sessões e PHP

Sessões/PrincipaisAções

üIniciarumasessão;üLeregravarvariáveisdasessão;üExcluirvariáveisdesessão;üDestruirasessão.

27

Page 28: Cookies e Sessões e PHP

Ler/GravarVariáveisnaSessão

üUtilizamosoarray associativo$_SESSIONparaleregravar;

28

Page 29: Cookies e Sessões e PHP

ExcluirVariáveisdeSessão

üUtilizamosafunçãounset() comonomedavariáveldeparâmetro.

29

Page 30: Cookies e Sessões e PHP

DestruiraSessão

üUtilizamosafunçãosession_destroy() paraexcluirasessão.üAntesdeexcluí-ladevemosexcluirasvariáveisdesessão.

30

Page 31: Cookies e Sessões e PHP

ErrosComuns- Sessões

üTentarcriarumsessãoapósterescritononavegador;üErrodedigitaçãononomedasvariáveisdesessão.üUtilizarumavariáveldesessãojáexpirada,portanto,nãoexistemais.üChamarsession_destroy,semantesexcluirasvariáveisdesessão.

31

Page 32: Cookies e Sessões e PHP

(TrabalhoIndividual)/Sessões“Alojadeacessóriosparaanimais“PetPlace”ficoufelizcomasoluçãoapresentadaanteriormente,ecomasvendas,superouacriseeconômica.Agora,osproprietáriosdaloja,solicitamumcadastrodeusuárioesenha(login)paraosite,poispretendemvenderosprodutospelosite.

32

Page 33: Cookies e Sessões e PHP

Exemplo– TeladeCadastro

WebsiteInicial WebSitecomTeladeCadastro 33

Page 34: Cookies e Sessões e PHP

DicasparaaSolução

üDesenvolverumcadastrodeusuárioesenhacomBancodeDadosüDesenvolverumcarrinhodecomprasusandosessõese/oucookies.üOsprodutospodemserinseridoseexcluídosnocarrinhodecompras.

34

Page 35: Cookies e Sessões e PHP

Referências

CONVERSE,T;PARK,J.PHPaBíblia.EditoraCampusElsevier,2003.

DALL’OGLIO,P.PHP:ProgramandocomOrientaçãoaObjetos.EditoraNovatec,2009.

GILMORE,W.J.DominandoPHPeMySQL:doInicianteaoProfissional.AltaBooks.2008.

ITORIAN.MicrosoftTechnologyJournals by Abhimanyu KVatsa.Disponívelem

<http://www.itorian.com/2012/09/tcp-is-stateful-protocol-and-http-is.html>Acessoem

24/11/2015.

PHPManual.Disponívelem<http://php.net/manual/pt_BR/>Acessoem24/11/2015.

35

Page 36: Cookies e Sessões e PHP

Dúvidas

Obrigado!E-mail:[email protected]

36