• Nenhum resultado encontrado

Acesso a Base de Dados Via Web

N/A
N/A
Protected

Academic year: 2021

Share "Acesso a Base de Dados Via Web"

Copied!
33
0
0

Texto

(1)

Lista

Exerc´ıcio 1 Exerc´ıcio 2 Exerc´ıcio 3

Exerc´ıcio 4

Acesso a Base de Dados Via Web

Hernani Costa

[email protected]

Redes de Comunica¸c˜ao 2011/2012 Exerc´ıcios

(2)

Lista Exerc´ıcio 1 Exerc´ıcio 2 Exerc´ıcio 3 Exerc´ıcio 4 Nodo Exerc´ıcio Valores 1 1.05v 2 1.05v 3 1.05v 4 1.05v Total 4.2v

(3)

Lista Exerc´ıcio 1

Exerc´ıcio 2 Exerc´ıcio 3 Exerc´ıcio 4

Descreva o modo de funcionamento do acesso a uma BD atrav´es da linguagem PhP.

(4)

Lista

Exerc´ıcio 1

Exerc´ıcio 2

Exerc´ıcio 3 Exerc´ıcio 4

Crie as seguintes tabelas:

Table: Tabela Jogador.

NomeJogador Idade NomeClube Posicao Nacionalidade

Deco 28 Chelsea M´edio Portuguesa

Raul Meireles 26 FC Porto M´edio Portuguesa Ronaldinho 28 AC Milan Avan¸cado Brasileira

Lucho 28 FC Porto M´edio Argentina

Jo˜ao Moutinho 22 Sporting M´edio Portuguesa Laranjeira 30 Leix˜oes Defesa Portuguesa

(5)

Lista

Exerc´ıcio 1

Exerc´ıcio 2

Exerc´ıcio 3 Exerc´ıcio 4

Table: Tabela Clube.

NomeClube Pais Idade Est´adio

FC Porto Portugal 115 Drag˜ao Real Madrid Espanha 120 Santiago Barnab´eu Manchester U. Inglaterra 100 Old Trafford

(6)

Lista

Exerc´ıcio 1

Exerc´ıcio 2

Exerc´ıcio 3 Exerc´ıcio 4

Inserir os dados nas respetivas tabelas.

Listar todos os clubes.

Listar o nome e o est´adio de cada clube.

Listar os nomes de todos osjogadores com mais de 23 anos (inclusive).

(7)

Lista

Exerc´ıcio 1

Exerc´ıcio 2

Exerc´ıcio 3 Exerc´ıcio 4

Listar o nome dos jogadorescom 26 ou 30 anos.

Listar toda a informa¸c˜ao dos jogadorescom idades entre os 22 (inclusive) e os 26.

Listar o nome dos clubese idadeonde a idade ´e maior que 110 e menor que 95.

Listar todos os nomes dejogadores come¸cados por ‘R’.

Listar todos os nomes dejogadores que contenham “inh” no nome.

(8)

Lista

Exerc´ıcio 1

Exerc´ıcio 2

Exerc´ıcio 3 Exerc´ıcio 4

Listar os nomes dos jogadorese a sua idade porordem crescentede idade.

Listar os nomes dos jogadorescom idades iguais a 26 anos ou com mais de 28 porordem alfab´etica.

Contar o n´umero dejogadoresda tabela jogador.

(9)

Lista

Exerc´ıcio 1

Exerc´ıcio 2

Exerc´ıcio 3 Exerc´ıcio 4

Contar o n´umero dejogadoresque n˜ao jogam no FC Porto.

Listar a idade do clube mais velho da tabela alertclube.

Indicar a idade do jogador mais novo da tabelajogador que seja m´edio.

Calcular a m´edia de idades dosjogadoresde nacionalidade portuguesa.

(10)

Lista

Exerc´ıcio 1

Exerc´ıcio 2

Exerc´ıcio 3 Exerc´ıcio 4

Calcular a soma das idadesdos clubes portugueses centen´arios.

Listar todos os nomes dosjogadores portugueses que joguem em clubes de Portugal.

Listar todos osjogadores portugueses que joguem em clubes de Portugal e tenham mais de 25 anos.

Listar todos osjogadores estrangeiros que joguem em equipas portuguesas.

(11)

Lista Exerc´ıcio 1 Exerc´ıcio 2 Exerc´ıcio 3 Exerc´ıcio 4 M´odulo 7

Resolva os pontos seguintes em linguagem PhP, HTML e SQL.

Criar uma tabela de nome Aluno atrav´es do MySQL como a que se mostra de seguida.

Nota: Criar apenas a tabela. Deixe o seu conte´udo vazio.a

Table: Tabela Aluno.

Nome Idade ... ...

(12)

Lista

Exerc´ıcio 1 Exerc´ıcio 2

Exerc´ıcio 3

Exerc´ıcio 4 Criar um novo ficheiro de nome form.html onde deve

(13)

Lista

Exerc´ıcio 1 Exerc´ıcio 2

Exerc´ıcio 3

Exerc´ıcio 4

Criar um ficheiro de nome inserir.phponde dever´a constar o c´odigo para captar o nomee idadeescrito nas caixas de texto.

Ajuda: use o m´etodo GET ou POST e baseia-se nos seguintes c´odigos $ GET[‘nome da caixa de texto’] ou

$ POST[‘nome da caixa de texto’] para captar o valor da caixa de texto.

Na p´aginainserir.php deve ser mostrada a seguinte frase:

O seu nome ´e “valor da caixa de texto nome” A sua idade ´e “valor da caixa de texto idade”

(14)

Lista

Exerc´ıcio 1 Exerc´ıcio 2

Exerc´ıcio 3

Exerc´ıcio 4

Acrescentar o c´odigo necess´ario para ligar `a BD e para conseguir introduzir os dados nela atrav´es do formul´ario. Alterar o c´odigo da p´agina inserir.phponde agora deve ser mostrada a seguinte mensagem:

Os dados foram inseridos com sucesso!

No caso de existir um erro deve conseguir detet´a-lo atrav´es de c´odigos de erro que devem estar presentes em todas as fun¸c˜oes relacionadas com a BD no seu c´odigo PhP.

Veja o seguinte exemplo do que se pretende, na fun¸c˜ao associada `a liga¸c˜ao `a BD.

(15)

Lista

Exerc´ıcio 1 Exerc´ıcio 2

Exerc´ıcio 3

Exerc´ıcio 4

$Iigax = mysqI connect(‘localhost’, ‘root’, ‘ ’); If (!$ligax){

echo ‘<p> Erro: Falha na liga¸c˜ao `a BD.’; exit;

(16)

Lista

Exerc´ıcio 1 Exerc´ıcio 2

Exerc´ıcio 3

Exerc´ıcio 4

Proceder `as altera¸c˜oes do c´odigo anterior para o seu caso particular, n˜ao se esquecendo de aplicar, da mesma forma, o c´odigo de erros `as restantes fun¸c˜oes.

No caso de j´a existir um nome na tabela igual ao que se pretende inserir deve aparecer no ecr˜a a seguinte

mensagem:

(17)

Lista

Exerc´ıcio 1 Exerc´ıcio 2

Exerc´ıcio 3

Exerc´ıcio 4

Crie um ficheiro de nomeligabd.php onde dever˜ao constar os c´odigos respons´aveis pela liga¸c˜ao `a BD bem como pela escolha da BD.

Substitua no ficheiro inserir.phpas linhas de c´odigo que colocou no ficheiro Iigabd.phppela seguinte:

(18)

Lista

Exerc´ıcio 1 Exerc´ıcio 2

Exerc´ıcio 3

Exerc´ıcio 4

Tente inserir um novo aluno para garantir que apesar desta altera¸c˜ao, tudo funciona normalmente.

Nota: Em todos os ficheiros que ser˜ao criados a partir

deste momento, que necessitem de aceder `a BD, dever˜ao

incluir apenas o c´odigoinclude (“ligabd.php”);

Acrescente ao form.html um link de nome “Listar

Registos”para uma p´agina de nomelistar.phpque ir´a criar de seguida.

(19)

Lista

Exerc´ıcio 1 Exerc´ıcio 2

Exerc´ıcio 3

Exerc´ıcio 4

Crie a p´aginalistar.php que mostre todos os registos da tabelaAluno.

Ajuda: a por¸c˜ao do c´odigo seguinte lista todos os nomes

de jogadores, idade e clube da tabela jogador na forma de uma tabela.

Baseie-se neste c´odigo, procedendo `as altera¸c˜oes

necess´arias para que funcione quando lista os registos da

(20)

Lista Exerc´ıcio 1 Exerc´ıcio 2 Exerc´ıcio 3 Exerc´ıcio 4 <table border=“1”>

<tr><th> Nome Jogador </th><th> ldade </th><th> Nome Clube </th></tr> <?php

for ($i=0; $i <$num registos; $i++) { $registos = mysql fetch array($result); echo ‘<tr>’;

echo ‘</td>’ .$registos [‘nomejogador’]. ‘</td>’; echo ‘</td>’ .$registos [‘idade’]. ‘</td>’; echo ‘</td>’ .$registos [‘nomeclube’]. ‘</td>’; echo ‘</td>’ .$registos [‘Ano’]. ‘</td>’; echo ‘</td>’ .$registos [‘Email’]. ‘</td>’; echo ‘</tr>’;

} </table>

(21)

Lista

Exerc´ıcio 1 Exerc´ıcio 2

Exerc´ıcio 3

Exerc´ıcio 4

Acrescentar ao form.html um link de nome “Pesquisar”

para uma p´agina de nome pesquisa.html que iremos criar de seguida.

Crie uma p´agina de nome pesquisa.html com o seguinte aspeto:

Nota: o bot˜ao de submit dever´a estar direcionado para o

(22)

Lista

Exerc´ıcio 1 Exerc´ıcio 2

Exerc´ıcio 3

Exerc´ıcio 4

Crie um ficheiro de nomepesquisa.php onde liste numa tabela, `a semelhan¸ca dolistar.php, os nomes e idades dos alunos da tabela aluno que resultem da pesquisa.

Acrescente ao final da p´agina pesquisa.php o seguinte formul´ario:

Nota: o bot˜ao de submit dever´a estar direcionado para o

(23)

Lista

Exerc´ıcio 1 Exerc´ıcio 2

Exerc´ıcio 3

(24)

Lista

Exerc´ıcio 1 Exerc´ıcio 2

Exerc´ıcio 3

Exerc´ıcio 4

Crie um ficheiro de nomeapagar.php que apague um registo da tabela Aluno conforme o nome inserido na caixa de texto acima.

(25)

Lista

Exerc´ıcio 1 Exerc´ıcio 2 Exerc´ıcio 3

Exerc´ıcio 4

Crie uma BD e respetiva tabela que permita interagir com os dados dos formul´arios seguintes. N˜ao se esque¸ca de escolher uma chave prim´aria para a tabela.

Notas: A palavra “Registe-se” ´e um hyperlink para a

p´agina form.html onde deve constar os campos que

(26)

Lista

Exerc´ıcio 1 Exerc´ıcio 2 Exerc´ıcio 3

Exerc´ıcio 4

Crie um ficheiro de nomelogin.php.

Neste ficheiro deve constar o c´odigo respons´avel por verificar os dados do utilizador.

(27)

Lista

Exerc´ıcio 1 Exerc´ıcio 2 Exerc´ıcio 3

Exerc´ıcio 4

Caso este introduza corretamente os dados no formul´ario anterior, deve-lhe ser mostrada a p´aginamain.php e ainda a seguinte mensagem:

Ol´a X!

No caso do utilizador n˜ao se encontrar registado ent˜ao a p´agina a ler deve ser novamente a entrar.html.

Ajuda: a forma de redirecionar para outros ficheiros ´e

(28)

Lista

Exerc´ıcio 1 Exerc´ıcio 2 Exerc´ıcio 3

Exerc´ıcio 4 if (condi¸c˜ao para verificar username e password){

header[‘Location: main.php’]; exit; } else{ header[‘Location: entrar.html’]; exit; }

(29)

Lista

Exerc´ıcio 1 Exerc´ıcio 2 Exerc´ıcio 3

Exerc´ıcio 4

No ficheirologin.phpdever´a ficar gravada uma vari´avel de sess˜ao. Adapte o seguinte c´odigo ao seu.

Session start();

$ SESSION[“nome”]=$nome;

No c´odigo do ficheiromain.php j´a poder´a fazer aparecer o nome (em vez do X) de quem fez o login atrav´es da sua vari´avel de sess˜ao.

Session start();

(30)

Lista

Exerc´ıcio 1 Exerc´ıcio 2 Exerc´ıcio 3

Exerc´ıcio 4

Neste momento, se pretendesse entrar nomain.php bastava escrever essa p´agina diretamente no browser.

Como devem compreender esta ´e uma falha grave de seguran¸ca, visto permitir a entrada numa p´agina supostamente privada.

Para impedir que isto aconte¸ca, proceder `as seguintes altera¸c˜oes:

(31)

Lista

Exerc´ıcio 1 Exerc´ıcio 2 Exerc´ıcio 3

Exerc´ıcio 4

Incluir (com include) um ficheiro de nomevalidacao.php no c´odigo domain.php.

De seguida, no ficheirovalidacao.phpdever´a encontrar-se o c´odigo que verifique se a vari´avel de sess˜ao relativa ao nome do utilizador est´a definida

dica: pode usar a fun¸c˜ao isset(nome da vari´avel)

No caso de n˜ao se encontrar definida, deve saltar para a p´aginaerro.php(dica: pode usar a fun¸c˜ao header()) que mostrar´a no ecr˜a“Acesso reservado a utilizadores

(32)

Lista

Exerc´ıcio 1 Exerc´ıcio 2 Exerc´ıcio 3

Exerc´ıcio 4

Na p´aginamain.php dever´a ser criado um bot˜ao do tipo submit de nome “sair”.

Ao clicar nesse bot˜ao um ficheiro de nomelogout.php deve ser chamado.

No ficheiro deve constar o seguinte c´odigo:

Session start();

(33)

Lista

Exerc´ıcio 1 Exerc´ıcio 2 Exerc´ıcio 3

Exerc´ıcio 4

Adicionalmente dever´a constar no final do c´odigo acima mostrado, o redirecionamento para a p´agina entrar.html.

Teste o seu c´odigo tentando aceder diretamente `a p´agina main.php ap´os clicar no bot˜ao sair.

Referências

Documentos relacionados

libras ou pedagogia com especialização e proficiência em libras 40h 3 Imediato 0821FLET03 FLET Curso de Letras - Língua e Literatura Portuguesa. Estudos literários

Elaboração de uma Cartilha Direcionada aos Profissionais da Área da Saúde, Contendo Informações sobre Interações Medicamentosas Envolvendo Fitoterápicos e Alopáticos

a) Este caderno com 30 questões objetivas sem repetição ou falha. b) Um CARTÃO-RESPOSTA destinado às respostas da prova. c) Para realizar sua prova, use apenas o

No exemplo apresentado na Caixa: Como calcular a relação custo-eficácia, por exemplo, teria sido mais adequado comparar as taxas obtidas no caso de diferentes rubricas de custo para

constru í das pela pr ó pria crian ç a.Veja a seguir as amostras de escrita da Cleonilda, do Lourivaldo. e do Daniel, de 22/8/84, nas quais isso aparece

Pode se observar que o uso de material didático na escola municipal Manoel Cassimiro Gomes ainda encontra-se muito limitado, com uso de materiais básicos, tais como:

3.2 As 60 horas de experiência ou formação específica em ensino de português como língua estrangeira ou língua adicional (PLE/PLA) a que se referem os subitens 3.1.1 e 3.1.2 podem

1) A sistemática da Avaliação Especial de Desempenho caracteriza-se como processo pedagógico, possibilitando a reavaliação periódica do trabalho realizado. 2) A Avaliação