cookies e sessões e php

Post on 07-Jan-2017

493 Views

Category:

Internet

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

SessõeseCookiesemPHP

Prof.HumbertoJorgedeMouraCostahumberto@humbertomoura.com.br

25/11/2015

Habilidades

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

2

AuladeHoje– CookieseSessões

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

3

Introdução/ProblemaExemplo– LojaVirtual

4

HTTPé Stateless

üNãoselembraderequisições/respostasanteriores

Maria

(Itorian,2012)5

HTTPé Stateless

üNãoselembraderequisições/respostasanteriores

João

6

PrincipaisOpções:CookieseSessões

$_COOKIE $_SESSION7

Cookie

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

(PHPManual,2015)

8

Cookies/ExemploPastaInternetExplorer:

9

Cookie/ExemploIFRS

javascript:alert(document.cookie) 10

Cookie/ExemploIFRS

Acesso:Preferências,Privacidade,removercookiesindividualmente11

ExemplosdeUsodeCookies

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

12

CaracterísticasdoCookies

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

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

13

Cookies/PrincipaisAções

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

14

Criar/atualizarumnovoCookie

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

üCasonãoseráespecificadootempo,duraráenquantoonavegadorestiveraberto.

15

CookiesemPHP/BuscarumCookieEspecífico

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

16

CookiesemPHP/BuscartodososCookies

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

17

CookiesemPHP/ExcluirumCookie

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

18

ErrosComuns

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

19

ExemplodeProblema/Cookies

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

20

Exemplo– TeladoBannerPromoção

SiteAtual Sitedevecarregarbannernaprimeiravez21

Solução

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

22

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

23

Sessões/Exemplo– Carrinhodecompras

24

ExemplosdeUsodeSessões

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

25

CaracterísticasdasSessões

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

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

26

Sessões/PrincipaisAções

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

27

Ler/GravarVariáveisnaSessão

üUtilizamosoarray associativo$_SESSIONparaleregravar;

28

ExcluirVariáveisdeSessão

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

29

DestruiraSessão

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

30

ErrosComuns- Sessões

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

31

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

32

Exemplo– TeladeCadastro

WebsiteInicial WebSitecomTeladeCadastro 33

DicasparaaSolução

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

34

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

Dúvidas

Obrigado!E-mail:humberto@humbertomoura.com.br

36

top related