Exercícios – Desenvolvimento Web Com Banco de Dados

Propaganda
Exercícios – Desenvolvimento Web Com Banco de Dados - Avançado
1 - Login
Utilizando-se dos exercícios desenvolvidos anteriormente, crie uma tela de login para autenticar usuários com direito de
acesso às aplicações. Para tanto altere a tabela ALUNOS incluindo um novo campo denominado de SENHA, com tamanho para 32
caracteres. Alimente o campo senha utilizando-se para tal uma constante fixa (ex. 123456). A tela de login a ser desenvolvida deverá
coletar a identificação do aluno (login) e sua senha, validá-los com as informações armazenadas no banco de dados e encaminhar o
aluno para uma tela onde o aluno pode: consultar alunos por cidade, confirmar presenças em seu nome e alterar sua senha.
Utilize a base de dados disponível em http://www.cafw.ufsm.br/~bruno/disciplinas/desenvolvimento_web/material/bd/script_alunos.txt.
2 - Sessão
Observe que no exercício anterior, a partir de uma autenticação inicial o usuário passa a ter acesso a outras funcionalidades
do sistema (consultas, inclusões, alterações). De que forma podemos evitar que um usuário um pouco mais avançado acesse
diretamente uma aplicação interna do site, sem passar pela autenticação inicial? O HTTP, no qual as aplicações WEB são baseadas é
um protocolo que não guarda informações de estado. Ou seja, o browser abre uma conexão com o servidor, faz uma solicitação, o
servidor envia a resposta e fecha a conexão. Para resolver essa situação surge o conceito de sessão. Uma seção é uma forma e
monitorar um usuário durante sua visita ao site. Em outras palavras, quando o usuário acessa determinado site ele ganha um
identificador único (um número aleatório e criptografado). O conceito de sessão permite armazenar no servidor algumas variáveis
(chamadas variáveis de sessão) de forma que nas conexões futuras tais variáveis possam ser recuperadas.
Uma sessão é iniciada pelo método: session_start();
Variáveis são adicionadas à seção através da variável $_SESSION
$_SESSION['nome'] = $nome; //Atribui o valor da variável $nome à sessão
$nome = $_SESSION['nome']; //Recupera o valor de nome (armazenado na sessão) na variável $nome
Pode-se testar se a sessão contém ou não uma determinada variável através do método isset()
if (isset($_SESSION['nome'])) {
$nome = $_SESSION['nome'];
echo ("<h2>Bem vindo $nome </h2><br>");
} else
echo ("Desculpe, você não tem permissão para acessar essa área do site");
Uma sessão é destruída após um tempo configurável ou então através do método: session_destroy();
Altere o exercício anterior de forma que o mesmo, após autenticar o aluno, registre na sessão o identificador do mesmo
(campo ALUNOS.CODIGO). Altere a aplicação que apresenta o menu de opções de forma com que a mesma faça a validação da
sessão. Caso a sessão não seja válida, apresente uma mensagem para o usuário redirecionando-o para a tela de login.
Utilize a base de dados disponível em http://www.cafw.ufsm.br/~bruno/disciplinas/desenvolvimento_web/material/bd/script_alunos.txt.
3 - Cookies
Um Cookie (testemunho de conexão) é um conjunto de dados que é trocado entre o navegador e o servidor de páginas e
armazenado em um arquivo de texto fisicamente localizado no computador onde o browser está instalado. Sua principal utilização é
de gravar informações sobre a navegação para posterior recuperação. O valor de um cookie é acessível apenas ao site ao qual
pertence, ao acessar o site em um segundo momento o browser se encarrega de enviar ao servidor de páginas os cookies
relacionados ao serviço que está sendo acessado. Em PHP é bastante simples trabalhar com cookies:
Um cookie é criado pelo comando: setcookie("nome_do_cookie", "valor_do_cookie");
Acessado pelo comando: $variavel = $_COOKIE["nome_do_cookie"];
E inutilizado pelo comando: setcookie("nome_do_cookie");
Para exercitar o uso e cookies, altere a janela de login de forma a preencher de forma automática o nome do usuário nas
próximas tentativas de login. Altere também a aplicação que lista alunos por cidade de forma que a mesma traga selecionada
sempre a última cidade que foi consultada.
Download