Baixe o app para aproveitar ainda mais
Prévia do material em texto
51 5 Cookies e Sessões Gustavo José da Silva Aracele Garcia de Oliveira Fassbinder Técnico em Informática Linguagens de Programação II Metas • Criar e utilizar cookies e sessões na linguagem PHP. Pré-requisitos • Lógica de Programação e HTML; • Linguagens de Programação I. Objetivos • Conhecer 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. 52 Aula 5 - Cookies e Sessões Muitos sites necessitam guardar algumas informações do cliente enquanto este navega de página em página. Mas o protocolo HTTP responsável por transmitir informações através da internet é um protocolo sem conexão, ou seja, um comando HTTP é executado de forma independente e não possui conhecimento dos comandos realizados anteriormente. Imagine, por exemplo, um carrinho de compras de um site de comércio eletrônico. Você adiciona um produto. Após navegar por outras seções, você adiciona outro produto, e assim por diante. Mas se toda requisição ao site é tratada independentemente, como o servidor saberá que deve adicionar os novos produtos ao seu carrinho e não ao carrinho de outra pessoa que também está navegando naquele site? Desta forma, o site deve criar algum mecanismo para sincronizar as requisições HTTP realizadas e conseguir gerenciá-las! Existem diversas formas de resolver esta questão. A mais utilizada é salvar informações na máquina do cliente, e quando ele requisitar uma nova compra, recuperamos estas informações. Com tais informações é possível saber se este cliente já estava adicionando algo a um carrinho já existente ou usando um novo carrinho. Tal recurso é chamado de “cookie”. Outra forma é usar sessões, onde as informações ficam armazenadas no servidor. Além do exemplo do carrinho de compras, podemos citar outras aplicações de cookies e sessões: • autenticação e gerenciamento de acesso de usuários, 53 • personalização de sites e/ou páginas por usuário, • dentre outras. Nesta aula você vai entender o que são cookies e sessões, e como o PHP trabalha com estes recursos ! De forma geral, podemos dizer que as sessões e os cookies são formas de guardar os dados durante um certo tempo. Vamos iniciar nossas atividades práticas trabalhando com os cookies. 5.1 Cookies A sintaxe básica da criação de um cookie é: int setcookie("nome_do_cookie", "valor_do_cookie", expiração, caminho, domínio, seguro); Os dois primeiros parâmetros (nome e valor) são obrigatórios, os demais são opcionais e podem ser verificados na tabela seguinte: 54 Parâmetro Descrição Expiração (expire) É um valor inteiro (int). Pode ser criado pelas funções time() ou mktime(). Caminho (path) É uma string. Contém o caminho do script que gravou o cookie. Domínio (domain) É uma string. Contém o Domínio que gravou o cookie Segura (secure) É um valor booleano (bool). O valor 1 indica que o cookie só será transmitido se a conexão for segura, ou seja, HTTPS. Tabela 5.1: Parâmetros do cookie Crie então o arquivo MeuCookie.php com o seguinte código: 55 Figura 5.1: Criação do cookie Observe que os cookies lidos por um arquivo PHP ficam armazenados em duas variáveis: a) em $HTTP_COOKIE_VARS[], que é um array e que possui como índice uma string com o nome do cookie; b) na variável que possui o mesmo nome do cookie, precedido pelo símbolo $. Dica! O código “<br />\n” também pode ser utilizado para quebrar a linha em um arquivo php. 56 Voltando ao arquivo “MeuCookie.php”, veja a saída no navegador: Figura 5.2: Teste do cookie 5.2 Sessões A função session_start() habilita o uso da sessão em um arquivo PHP. Isso quer dizer que a partir deste momento o seu programa esta apto a registrar os dados nesta sessão. A sintaxe geral da função session_start() é bool session_start(void). Ela retorna “true” se a sessão foi iniciada e, caso ocorra algum erro, retornará “false”. Só é possível utilizar uma variável na sessão após registrá-la na mesma. Para criar (registrar) uma variável na sessão utilizamos a variável global $_SESSION, ou seja, um array associativo contendo variáveis de sessão disponíveis para o código PHP atual. 57 Dica! Dizer que uma variável é global significa simplesmente que ela está disponível em todos os escopos do código php em questão. Outra dica ! Não é recomendável usar session_register() em versões 4.1.0 ou superiores. Essa função está obsoleta. Utilizamos a função “session_is_registerede()” para verificar se uma variável está ou não registrada na sessão. Esta função retorna “true” se a variável estiver registrada e retorna “false” em caso contrário. Também é possível obter a identificação da sessão. Essa identificação, que é uma string, também é uma espécie de “cpf” da sessão, ou seja, é unica e não se repete. Utilizamos a função “session_id( )” para obtê-la. Vamos continuar nossas atividades práticas trabalhando com sessões. Inicialmente teremos dois arquivos: 58 Sessao1.php Inicia a sessão, registra uma variável e exibe a identificação da sessão. Sessao2.php Também habilita a sessão, recupera o valor da variável registrada através do arquivo “Sessao1.php”, verifica se a variável está realmente registrada, remove a variável da sessão e finaliza a sessão iniciada anteriormente. Tabela 5.2: Arquivos necessários para a aula Portanto, digite o código do arquivo “Sessao1.php”: Figura 5.3: Registro de variável na sessão 59 Execute o arquivo anterior e veja a saída no navegador: Figura 5.4: Saída do registro da variável E agora digite o código do arquivo “Sessao2.php”: 60 Figura 5.5: Verificar sessão Utilizamos a função “session_is_registered” para verificar se a função estava registrada na sessão, utilizamos a função “session_unregister” para desregistrar a variável da sessão, e finalmente utilizamos a função “session_destroy” para finalizarmos a sessão iniciada anteriormente. 61 Veja a saída no navegador: Figura 5.6: Saída de verificação da sessão Se você executar este arquivo novamente, a nova saída no navegador será a exibida abaixo, uma vez que a sessão foi encerrada ! Figura 5.7: Saída com sessão encerrada 62 Dicas de Leitura: • O que são cookies e como funcionam. Disponível no site Dicas-L. Você pode acessar o conteúdo através do endereço abaixo http://www.dicas-l.com.br/arquivo/o_que_sao_cookies_e_como_funcionam.php • O google e os cookies. Disponível no site Google Analytics. O acesso pode ser feito através do próximo endereço: http://www.mundowa.com.br/blog/google-analytics-cookies/ • O Firefox e os cookies. Disponível no site do Firefox. Este texto diz como os cookies são armazenados no navegador Firefox, como apagá-los, como são armazenados, e cita alguns mitos sobre cookies. Acesse em: http://br.mozdev.org/firefox/cookies 63
Compartilhar