• 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

hpcosta@dei.uc.pt

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

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

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

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

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: