PROGRAMAÇÃO PARA
INTERNET
Prof.: Jean Carlo Mendes
http://www.jeancarlomendes.com.br
PHP - Session
- O protocolo HTTP é “stateless”
- Em alguns casos é preciso guardar o
“estado” entre duas requisições ao servidor
PHP – Query Strings
- Uma das formas de preservar/transferir
dados através de duas requisições é
através de Query Strings
- Usando esta técnica, os dados são
transferidos através da URL do Browser
- Isto é feito através de pares nome/valor
PHP – Query Strings
- http://localhost/myscript.php?firstName=Fr
ed&lastName=Bishop
- Para acessar o valor:
• $firstName = $_GET[“firstName”];
• $lastName = $_GET[“lastName”];
PHP – Cookies
- Os dados podem ser “preservados” através
-
-
de cookies;
Pode-se armazenar até 4kb de dados
Pode-se definir um tempo de vida para o
cookie
Browsers podem armazenar até 30 cookies
por site/dominio
Usuário pode desabilitar os cookies
PHP – Cookies
- Os cookies são enviados do servidor ao
browser à partir dos cabeçalhos do HTTP:
- Exemplo:
PHP – Cookies
- Para setar um cookie em PHP, existe uma
função chamada setCookie().
- A chamada de setCookie deve ser feita antes
de enviar qualquer outro conteudo ao
Browser, caso contrario o header do HTTP
será enviado sem o cookie
- A chama acima cria um cookie chamado
FontSize com valor 3 e data expiração em
60*60*24*365 segundos, ou um ano. O “/”
indica que qualquer url do site pode acessa-lo
PHP – Cookies
- No exemplo abaixo é setado um cookie de
nome pageViews e valor 7. O zero indica
que o cookie irá expirar ao fechar o
browser. O Path está vazio, indicando que
o cookie será enviado de volta apenas
para o mesmo servidor que o criou
Para atualizar o cookie, basta chamar a função novamente....
PHP – Cookies
- Para ler um cookie via PHP:
- Um cookie criado recentemente só estará
disponível através do $_COOKIE na
proxima requisição do browser, para isto
pode-se testar se ele está setado:
PHP – Cookies
- Para remover um cookie basta chamar a
função setcookie() passando como
parametro o nome do cookie e um valor
qualquer e a data de expiração no passado
PHP – Session
- Os cookies podem apresentar problemas
de segurança (dados gravados no
browser) e de performance. Se você tiver
10 cookies armazenados de 4kb cada, isto
significa uma carga de 40 kb a cada
requisição
- As sessões resolvem estes problemas...
PHP – Session
- A session armazena os dados no servidor
- Cada sessão é identificada por um ID
único gerado pelo PHP (SID)
- Criar uma session em PHP é bem
simples... Basta chamar session_start()
PHP – Session
- Para armazenar algo na session:
- $_SESSION[“Nome”] = “João”;
- Para recuperar em qualquer outra página:
- echo($_SESSION[“Nome”]);
PHP – Session
- Para destruir a session:
- $_SESSION = array();
- Session_destroy();
Exercício – data ?
- Construir 3 páginas em PHP
- A primeira pagina conterá um formulário
com um campo para o usuário informar o
nome
- A segunda página conterá uma mensagem
de boas vindas a este usuário (exibindo o
nome dele) e um link para uma terceira
pagina contendo um cabeçalho (que
também deve conter o nome do usuário)
- O nome deve ser armazenado/recuperado
de uma sessão
Download

TDW-16-PHP-Session - Jean Carlo Mendes