Aula 5
-
Upload
lucas-fagundes -
Category
Documents
-
view
7.430 -
download
2
description
Transcript of Aula 5
Aula 5Cookies e Sessões
MetasCriar e utilizar cookies e sessões na linguagem PHP.
Pré-requisitosLógica de Programação e HTML;Linguagens de Programação I.
ObjetivosConhecer 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 servidor Web 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 servidor Web 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
CookiesUtilizado 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 servidor Web é 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 PHPO uso de Cookies em PHP envolve basicamente doispassos: 1. Criar o Cookie2. Recuperar o valor do Cookie
Na criação do cookie indicamos qual informação será salva(deve ser uma String) e criamos um identificador parareferenciá-laint setCookie(“nome”, “valor”, tempo_expiração); Nome e valor são obrigátorios
Uma vez definido o Cookie podemos referenciá-lo atravésda super global $_COOKIE, um array associativo onde suaschaves são os nomes dados durante a criação do CookiePode-se definir parâmetros de data e hora (tempo) que essa informação irá expirar. (Se não definir o tempo o Cookieexpira quando terminar a sessão de navegação )
exemplo_cookie.php
Como encontrá-lo no navegadorChrome: 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
meucookie.php
Note que a partir da versão 5.3.10 do PHP o array HTTP_COOKIE_VARSFoi substituído apenas por $_COOKIE
SessãoInformaçõ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ávelSuperglobal – ou seja disponível em todos os escopos do código PHP-)
Para situações onde há a necessidade de que a informaçãoseja mantida, mas não por tempo suficiente que justifiqueseu armazenamento em banco de dados ou Cookies
Informações sobre o usuário que está logado
Utilizando Session em nossa páginaSession 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 estevalor posteriormente
$_SESSION[‘chave’ ] = valor;
$_SESSION[‘login’] = $_POST[‘login’];
sessao1.php e sessao2.phpDevido as recentes atualizações nas versões do PHP as funçõessession_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 parasubstituí-las, pois elas tem esse mesmo propósito.
Algo comum na linguagem de programação PHP é a atualização dealguns 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.phpBaixe 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