Tema 4 | Sessão

Post on 16-Apr-2017

110 views 0 download

Transcript of Tema 4 | Sessão

Tema 4 | SessãoAULA 5

INTRODUÇÃO A PROGRAMAÇÃO DE APLICAÇÕES WEB DE CONTEÚDOS DINÂMICOS COM PHP

MSC. Henry Raúl González Brito | henryraul@gmail.com

Contenúo

•Acesso a formulários HTML desde PHP

•Autenticação de usuários

PROBLEMA: CARRINHO DE COMPRAS NUMA LOJA VIRTUAL

A concessionária de veículos está vendendo os seus veículos

com desconto. Faça um website com PHP que calcule e exiba

o valor do desconto e o valor a ser pago pelo cliente de

vários carros. O desconto deverá ser calculado de acordo

com o ano do veículo. Até 2000 - 12% e acima de 2000 - 7%.

O Utilizador só tem que digitar o modelo, ano e o preço

normal do veículo.

Manutenção do estado de um sistema Web

•Como manter o estado das variáveis num sistema Web entre as requisições do usuário?• Protocolo HTTP é “Stateless” (sem manutenção de

estado)

•Dúvidas:

• Como autenticar um usuário e garantir seu acesso seguro em páginas restritas?

• Como garantir que estas páginas restritas sejam acessada apenas por usuários autenticados?

• Caso prático: como implementar um carrinho de compras numa loja virtual?

Modo seguro para armazenamento de variáveis

•Armazenadas no Servidor Web

•Usuário não tem acesso direto aos dados da sua sessão

•Uma sessão pode conter um conjunto de variáveis do usuário

•Fácil implementação

Array $_SESSION

Uma sessão é identificada através do seu Session ID

Caso de estudo

Repositório

de sessões

5 – Nova requisição ao Servidor – Navegador recuperar 4Session ID armazenado

Repositóriosessões

Caso de estudo

•Criação / abertura de uma sessão no servidor

• Lê as variáveis de sessão do usuário e prepara o Array $_SESSION com estes valores

•Por padrão, nenhum comando de saída pode ser executado pelo script antes de session_start!

Atribuição de valores $_SESSION['username'] = henryraul';

Leitura de valores echo $_SESSION['username'];

Função session_start

Função session_destroy

•Destruir uma sessão no servidor, de acordo com o Session ID enviado pelo browser.

•Exemplosession_start(); //abrir a sessão

session_destroy(); //destruir a sessão

Exemplo

Index.php Page2.php

Page3.php

session_start();$_SESSION['variable1']='Hello world'; echo $_SESSION['variable1'];

unset($_SESSION['variable1']);

echo $_SESSION['variable1']; ?

Exemplo page1.php

Exemplo page2.php

Exemplo page3.php

Exemplo2.php

Isset()

Autenticação de usuários

Segurança para páginas restritas

Tema 4 | SessãoAULA 5

INTRODUÇÃO A PROGRAMAÇÃO DE APLICAÇÕES WEB DE CONTEÚDOS DINÂMICOS COM PHP

MSC. Henry Raúl González Brito | henryraul@gmail.com