PHP MySQL Aula 08

786 views
757 views

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
786
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
88
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

PHP MySQL Aula 08

  1. 1. PHP: Cookies e sessõesCarlos SantosLabMM 4 - NTC - DeCA - UAAula PHP+MySQL 08, 24-05-2012
  2. 2. Gestão de sessões (session handling) com PHPsurge com o PHP 4.0 e é fundamental para as aplicações Web 2.0 • ambientes • multi-utilizador • interactivos, colaborativos • personalizáveisÉ necessário ajustar a aplicação Web às acções e preferências (passadas,presentes e futuras) de cada utilizador -> propagar estados/preferênciaspor várias páginas
  3. 3. Cookiesutilização de cookies • guardam a informação desses estados/preferências no cliente (browser) • existem algumas limitações ao uso de cookies (tamanho/capacidade, número, segurança)definir a data em que o cookie expirará • $data_expira_cookie = mktime(0,0,0,12,25,2011); • mktime (hour, min, sec, month, day, year)criar o cookie • setcookie(nome, valor, $data_expira_cookie);
  4. 4. Cookiesler o valor armazenado no cookie • $_COOKIE[cookie_natal]alterar o cookie • setcookie(nome, novo valor, time()+5*3600) • nova duração é de 5h!apagar o cookie • se tempo = 0 o cookie é apagado no final da sessão • colocar um tempo passado para apagar um cookiecolocar qualquer setcookie sempre no início do código da página ->antes de <HTML>!
  5. 5. Sessõesutilizador inicia na aplicação uma sessão de trabalho (normalmente apósefetuar um login) -> session_start()é atribuído um identificador único (Session ID - SID) a essa sessão ->gravado numa cookie • session_id() -> permite conhecer o SID (qofias54lqehctohipevl5cph3) • session_id(“novo sid”) -> também permite especificar um SIDassociados a cada sessão existem diferentes parâmetros que definem oambiente de utilização da aplicação para o utilizador • SESSION ID • SESSION VARS
  6. 6. Sessõessempre que necessário o SID é lido e os parâmetros associados(armazenados em variáveis de sessão) são fornecidos pelo servidor • $_SESSION[‘nome_variavel_sessao’] • cookie com o SID pode manter-se no cliente, permitindo assim sessões persistentes -> que perduram entre utilizações sucessivas da aplicação • Exemplo: http://www.phpbuilder.com/tips/item.php?id=179
  7. 7. Sessõesfunções importantes nas gestão de sessões: • session_start() • inicia uma nova sessão (atribuindo novo SID) ou continua uma sessão existente (usando um SID existente) • session_unset() • apaga todas as variáveis de sessão entretanto criadas • coloca a sessão no seu estado inicial (como quando foi criada) • session_destroy() • apaga as variáveis de sessão e destrói a sessão • não destrói a cookie
  8. 8. Sessõescriar e destruir variáveis de sessão // depois de um session_start(); // criar uma variável de sessão: $_SESSION[‘fundo] = “#000"; // para destruir a variável de sessão unset($_SESSION[‘fundo]); !como são guardados no servidor, os dados de uma sessão?• num ficheiro de texto com todas as variáveis de sessão e respetivos valores serializados nome_utilizador|s:6:"Manuel";perfil|s:1:"1";interface|s:1:"1"

×