Upload
humberto-moura
View
493
Download
1
Embed Size (px)
Citation preview
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