Projeto em Sala de Aula
Desenvolveremos um site dinâmico utilizando a linguagem PHP e o servidor de banco de dados PostgreSQL. O objetivo deste site será o cadastro de alunos da Fatec.
Fazendo-se uma busca pelo nome do aluno, serão disponibilizadas informações (idade, telefone, fax, e-mail e hobby).
O site permitirá inclusão, consulta, alteração e exclusão de dados. Todas as páginas e programas ficarão armazenados no diretório de publicação do servidor web Apache, que no nosso caso, encontra-se em: /var/www/html/ (engtarde ou fatnoite).
1 - Base de dados e tabelas
Podemos pensar nas tabelas que serão necessárias para esse projeto. A base de dados se chamará engtarde/fatnoite. Para facilitar, vamos utilizar uma única tabela, chamada alunos.
Dicas:
Tipos de campos:
varchar(N) : um campo caractere variável de no máximo N caracteres; integer : um inteiro padrão;
char(N) : um campo caractere com exatamente N caracteres;
text : um campo com um comprimento máximo de 65535 caracteres; date : uma data no formato ‘AAAA-MM-DD’.
Not null: significa que o campo não pode ser nulo. Primary key: significa que é campo chave.
Para criar essa tabela, podemos utilizar a seguinte sintaxe:
create table alunos (
nome varchar(40) not null primary key,
idade integer not null,
telefone varchar(10) not null,
email varchar(40),
hobby varchar(40)
);
2 - Criação da home page do site
A página principal (homepage) do site será bastante simples e trará um menu com as opções de inclusão, consulta, alteração e exclusão. As opções terão links para seus respectivos módulos. Essa página inicial terá a extensão .html .(sugiro index.html)
O código ficará assim: <html> <head> <title>Pagina Principal</title> </head> <body><font face="verdana"> <center>
<h1>Cadastro de Alunos Fatec-Jundiai</h1> <hr size="0">
<p><b><a href="inclusao.html">Inclusão de Alunos</a></b> <p><b><a href="consulta.html">Consulta de Alunos</a></b>
<p><b><a href="alteracao.html">Alteração dos dados dos Alunos</a></b> <p><b><a href="exclusao.html">Exclusão de Alunos</a></b></center> </font>
</body> </html>
3 - Módulo de Inclusão
Vamos criar a página para o formulário de inclusão. Os recursos do Mozilla Composer são muito limitados para a confecção de formulários, sendo assim digitaremos o código utilizando um editor de texto. Esse arquivo terá extensão .html .
3.1) Formulário inclusao.html
<html> <head> <title>Inclusao.html</title> </head> <body><table width="640" border="0" cellspacing="0" align="center"> <tr>
<td>
<h1>Fatec - Jundiaí</h1>
<p><b>Formulário de inclusão: <br> </b></p>
<form method="post" action="inclusao.php">
<p>Nome completo: <input type="text" name="nome" size="25" maxlength="50"></p> <p>Idade: <input type="text" name="idade" size="6" maxlength="2"></p>
<p>Telefone: <input type="text" name="telefone" maxlength="10" size="10"></p> <p>E-mail: <input type="text" name="email" size="25" maxlength="40"></p> <p>hobby: <input type="text" name="hobby" size="40" maxlength="40"></p> <p><input type="submit" name="Submit" value="Enviar">
<center><b><a href="index.html">Pagina Inicial</a></b></center> </p> </form> </td> </tr> </table> </body> </html>
Após digitar o código, salve-o e teste-o. Quando o formulário for submetido, dará um erro, alertando que o script inclusao.php (para o qual estamos encaminhando os dados) não existe. Precisamos, então, criá-lo. Notem que a próxima página não terá mais a extensão .html e sim .php, pois o código vai conter programação PHP.
Relembrando:
Quando o servidor recebe a requisição de uma página HTML, ele apenas envia a página
requisitada. Por outro lado, quando a requisição é de uma página com extensão PHP, o servidor processa o código antes de enviá-la. Pode-se combinar os códigos HTML e PHP.
3.2) Script inclusão.php
Este script tratará os dados recebidos através do formulário, e caso não falte nenhum campo obrigatório, irá incluí-los no banco de dados.
Relembrando:
As tags que identificam o início e o fim da programação PHP são:
<?php código php ?> A sintaxe do if/else: if (condição) { echo (“mensagem1”); echo ($variavel1); } else { echo (“mensagem2”); echo ($variavel2); }
Variáveis: as variáveis devem ser precedidas pelo caractere “$“.
Dicas:
No código referente ao script inclusão.php, utilizaremos algumas funções do PHP:
trim: tira espaços em branco de uma variável.
header: chama outro script, passando parâmetros e não retorna ao script chamador. Obs.:
Nenhum comando de exibição (echo, include, tags html) pode ser usado antes dessa rotina. A expressão or die pode ser usada como uma alternativa para o if/else.
<?php
// Tirar espaço em branco das variáveis recebidas através do formulário $nome = trim($_POST["nome"]);
$idade = trim($_POST["idade"]); $telefone = trim($_POST["telefone"]); $email = trim($_POST["email"]); $hobby = trim($_POST["hobby"]); // Consiste as variáveis recebidas
if (empty($nome) || empty($idade) || empty($telefone) || empty($hobby)) { /*
Comentar blocos de código */
// se os campos obrigatórios não estão preenchidos, recria o formulário e exibe mensagem de erro echo ('
<html> <head>
<title>Inclusao.php</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head>
<body> ');
echo ("<p><center><h1>Fatec-Jundiai </h1></center></p>");
echo ("<font color=\"#FF0000\"><b>Campo(s) obrigatório(s) não preenchido(s)</b></font>"); echo ("
<table width=\"640\" border=\"0\" cellspacing=\"0\" align=\"center\"> <tr>
<p><b>Formulário de inclusão: <br></b></p> <form method=\"post\" action=\"inclusao.php\">
<p>Nome completo: <input type=\"text\" name=\"nome\" value=\"$nome\" size=\"25\" maxlength=\"50\"></p>
<p>Idade: <input type=\"text\" name=\"idade\" value=\"$idade\" size=\"6\" maxlength=\"2\"></p> <p>Telefone: <input type=\"text\" name=\"telefone\" value=\"$telefone\" maxlength=\"10\" size=\"10\"> </p>
<p>E-mail: <input type=\"text\" name=\"email\" value=\"$email\" size=\"25\" maxlength=\"40\"></p> <p>Hobby: <input type=\"text\" name=\"hobby\" value=\"$hobby\" size=\"40\" maxlength=\"40\"></p> <p>
<input type=\"submit\" name=\"Submit\" value=\"Enviar\"> <center> <b> <a href=\"index.html\">Home</a> </b> </center> </p> </form> </td> </tr> </table> "); echo ("</body></html>”); } else {
// Cria uma conexão com o servidor PostgreSQL passando host, db, username e senha
// Substitua o xxx pelo nome do seu banco de dados, o yyy pelo usuário e o yyy pela password
pg_connect("host=localhost dbname=xxx user=yyy password=zzz") or die("Erro ao conectar ao banco de dados");
// Declaração SQL
$declar = "INSERT into alunos values ('$nome', '$idade', '$telefone', '$email', '$hobby')"; // Roda a query e trata o resultado
$tipo_msg = 'I'; if (pg_query($declar)) { $ok = 1; header("Location: exibe_mensagem.php?ok=$ok&tipo_msg=$tipo_msg"); } else { $ok = 2; header("Location: exibe_mensagem.php?ok=$ok&tipo_msg=$tipo_msg"); } } ?>
3.3) Criando o script que exibe mensagens: exibe_mensagem.php
Não devemos exibir as mensagens finais em um script que acessa banco de dados, pois, se o usuário clicar no botão “atualizar” do navegador, o script será processado novamente. Por isso, criaremos um script só para exibir as mensagens finais. Esse script foi chamado em inclusao.php através da função header.
<html> <head>
<title>Exibe Mensagem</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <?php $tipo_msg = $_GET["tipo_msg"]; $ok = trim($_GET["ok"]); echo ("<br>");
if ($tipo_msg == 'I') { //se inclusão OK if ($ok == 1) { echo ("<BR><BR>");
echo ("<center><b><font size = 4> Inclusão Efetuada </font></b></center>"); echo ("<BR>");
echo ("<center><b> <a href=\"inclusao.html\">Voltar</a> </b></center>"); }
// se deu erro na inclusão if ($ok == 2)
{
echo ("<BR><BR>");
echo ("<center><b><font size = 4> Erro - Inclusão não Efetuada </font></b></center>"); echo ("<BR>");
echo ("<center><b> <a href=\"inclusao.html\">Voltar</a> </b></center>"); }
}
elseif ($tipo_msg == 'E') {
//se exclusão OK if ($ok == 1) {
echo ("<BR><BR>");
echo ("<center><b><font size = 4> Exclusão Efetuada</font></b></center>"); echo ("<BR>");
echo ("<center><b> <a href=\"exclusao.html\">Voltar</a></b></center>"); }
// se deu erro na exclusão if ($ok == 2)
{
echo ("<BR><BR>");
echo ("<center><b><font size = 4> Erro - Exclusão não Efetuada</font></b></center>"); echo ("<BR>");
echo ("<center><b> <a href=\"exclusao.html\">Voltar</a></b></center>"); }
// se aluno não cadastrado if ($ok == 3)
{
echo ("<BR><BR>");
echo ("<center><b> Aluno não cadastrado </b></center>"); echo ("<BR><BR>");
echo ("<center><b> <a href=\"exclusao.html\">Voltar</a></b></center>"); } } else { //se alteração OK if ($ok == 1) { echo ("<BR><BR>");
echo ("<center><b><font size = 4> Alteração Efetuada</font></b></center>"); echo ("<BR>");
echo ("<center><b> <a href=\"alteracao.html\">Voltar</a></b></center>"); }
// se deu erro na alteração if ($ok == 2)
{
echo ("<BR><BR>");
echo ("<center><b><font size = 4> Erro - Alteração não Efetuada</font></b></center>"); echo ("<BR>");
echo ("<center><b> <a href=\"alteracao.html\">Voltar</a></b></center>"); }
} ?> </body> </html>
3.4) Testando o módulo de inclusão
Abra o navegador (Mozilla) e digite o endereço do site:
http://localhost/XXX/index.html
onde XXX poderá ser engtarde ou fatnoite
No menu da página principal, clique na opção inclusão.
Deixe os campos do formulário em branco. Clique em enviar. Deverá mostrar uma mensagem de erro.
O único campo que não é obrigatório é o e-mail.
Preencha o formulário com os dados do aluno: nome completo, idade, telefone, e-mail e hobby. Clique em enviar. Deverá mostrar a mensagem “Inclusão Efetuada”.
Volte para a página do formulário e entre com outros dados, só que desta vez entre com um nome que já existe no banco de dados. Clique em enviar. Deverá mostrar a mensagem “Inclusão não efetuada”, pois o campo nome é chave e não aceita valores duplicados.
4 - Módulo de Consulta
Vamos criar a página com o formulário de consulta.
4.1) Formulário
consulta.html
<html> <head>
<title>Consulta.html</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head>
<body> <!mensagem>
<table width="640" border="0" cellspacing="0" align="center"> <tr valign="top">
<td>
<p><b>Formulário de consulta</b><br></p> <form method="post" action="consulta.php">
<p>Nome completo:<input type="text" name="nome" size="25" maxlength="50"></p> <p><input type="submit" name="Submit" value="Enviar"></p>
</form> <center><b><a href="index.html">Voltar</a></b></center> </td> </tr> </table> </body> </html>
Após digitar o código, salve-o e teste-o. Quando o formulário for submetido, dará um erro, alertando que o script
consulta.php
(para o qual estamos encaminhando os dados) não existe. Precisamos, então, criá-lo. Notem que essa página não será mais HTML e sim PHP, pois conterá blocos de código em PHP.4.2) Script
consulta.php
Este script receberá o dado do formulário, realizará uma pesquisa no banco de dados, e exibirá as informações caso o aluno esteja cadastrado.
Dicas:
No código referente ao programa
consulta.php
utilizaremos mais algumas funções do PHP:file: lê um arquivo, retornando o seu conteúdo como um array; cada linha do arquivo será
representada por um elemento do array.
implode: armazena todo o conteúdo de um array como uma string, concatena os conteúdos
de cada elemento do array em uma string, utilizando ou não um delimitador entre eles.
str_replace: vai ler uma string e substituir um determinado valor por outro. No nosso caso,
essa função substituirá a expressão “<!mensagem>”, contida no código do
consulta.html
, por uma mensagem de erro. Portanto, não se esqueça de colocar no html a expressão a ser substituída (como comentário).pg_num_rows: obtém o número de registros que retornou do select. pg_fetch_row: obtém os campos do registro que retornou do select.
<html> <head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head>
<body> <?php
// Tirar espaço em branco da variável recebida através do formulário $nome = trim($_POST["nome"]); // Consiste Nome if (empty($nome)) { $html = file("consulta.html"); $html = implode(" ",$html);
$erro = "<center><font color=\"#FF0000\"> Preencha o campo <b>Nome</b></font></center>"; $html = str_replace("<!mensagem>",$erro,$html); echo ($html); } else { echo ("<br>");
// Parâmetros: XXX = engtarde / fatnoite
pg_connect("host=localhost dbname=XXX user=XXX password=XXX") or die("Erro ao conectar ao banco de dados");
// Declaração do SQL
$declar = "SELECT nome, idade, telefone, email, hobby from alunos where nome = '$nome'"; // Roda a query e verifica se encontrou registro
$query = pg_query($declar) or die ("Erro no acesso ao banco"); $achou = pg_num_rows($query);
// Se encontrou, guarda as variáveis if ($achou > 0)
{
$row = pg_fetch_row ($query); $nome = $row[0]; $idade = $row[1]; $telefone = $row[2]; $email = $row[3]; $hobby = $row[4]; echo ("<BR>");
echo ("<table width=\"640\" border=\"0\" cellspacing=\"0\" align=\"center\"> <tr> <td>"); echo ("<b> Resultado da Consulta </b>");
echo ("<BR><BR>");
echo ("<b> Nome: </b> $nome <BR>"); echo ("<b> Idade: </b> $idade <BR>"); echo ("<b> Telefone: </b> $telefone <BR>"); echo ("<b> E-mail: </b> $email <BR>"); echo ("<b> Hobby: </b> $hobby <BR>"); echo ("</td> </tr> </table>");
echo ("<center> <b> <a href=\"consulta.html\">Voltar</a></b></center>"); }
else {
echo ("<BR>");
echo ("<center><b>Aluno não cadastrado</b></center>"); echo ("<BR>");
echo ("<center><b><a href=\"consulta.html\">Voltar</a></b></center>"); }
} ?> </body> </html>
4.3) Testando o módulo de consulta
Abra o navegador (Mozilla) e digite o endereço do site:
http://localhost/xxx/index.html
onde xxx = engtarde / fatnoite
No menu da página principal, clique na opção consulta.
Deixe o campo nome do aluno em branco e clique em enviar. Deverá mostrar uma mensagem de erro.
Preencha o formulário com um nome de aluno inexistente e clique em enviar. Deverá mostrar a mensagem “Aluno não cadastrado”.
Preencha o formulário com um nome de aluno válido e clique em enviar. Deverá mostrar os dados do aluno.
5 - Módulo de Exclusão
Vamos criar a página com o formulário de exclusão.
5.1) Formulário
exclusao.html
<html> <head>
<title>Exclusao.html</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head>
<body>
<table width="640" border="0" cellspacing="0" align="center"> <tr valign="top"> <td> <br> <!mensagem> <p><b>Formulário de exclusão: <br> </b></p>
<form method="post" action="exclusao.php">
<p>Nome Completo:<input type="text" name="nome" size="25" maxlength="50"></p> <p><input type="submit" name="Submit" value="Enviar"></p>
</form> <center><b><a href="index.html">Voltar</a></b></center> </td> </tr> </table> </body> </html>
Após digitar o código, salve-o e teste-o. Quando o formulário for submetido, dará um erro, alertando que o script
exclusao.php
(para o qual estamos encaminhando os dados) não existe. Precisamos, então, criá-lo. Notem que esta página não será mais HTML e simPHP, pois conterá blocos de código em PHP.
5.2) Script exclusao.php
Este script receberá o dado do formulário, validará o nome digitado através de consulta ao banco de dados, e excluirá o registro caso o aluno estiver cadastrado.
<?php
// Tirar espaço em branco das variáveis recebidas do formulário $nome = trim($_POST["nome"]); // Consiste Nome if (empty($nome)) { $html = file("exclusao.html"); $html = implode(" ",$html);
$erro = "<center><font color=\"#FF0000\">Preencha o campo <b>Nome</b></font></center>"; $html = str_replace("<!mensagem>",$erro,$html);
echo ($html); }
else {
// Conexão com o PostgreSQL onde XXX = engtarde / fatnoite
pg_connect("host=localhost dbname=XXX user=XXX password=XXX") or die("Erro ao conectar ao banco de dados");
// Declaração do SQL
$declar = "SELECT nome from alunos where nome = '$nome'"; // Roda a query, verifica se aluno é cadastrado
$query = pg_query($declar) or die ("Erro no acesso ao banco"); $achou = pg_num_rows($query);
// Se encontrou exclui, senão mostra mensagem $tipo_msg = 'E';
if ($achou > 0) {
// Exclui registro na tabela alunos
$declar2 = "DELETE from alunos where nome = '$nome'"; if (pg_query($declar2)) { $ok = 1; header("Location:exibe_mensagem.php?ok=$ok&tipo_msg=$tipo_msg"); } else { $ok = 2; header("Location:exibe_mensagem.php?ok=$ok&tipo_msg=$tipo_msg"); } } else { $ok = 3; header("Location: exibe_mensagem.php?ok=$ok&tipo_msg=$tipo_msg"); } } ?>
5.3) Testando o módulo de exclusão
Abra o navegador (Mozilla) e digite o endereço do site:
http://localhost/xxx/index.html
No menu da página principal, clique em exclusão.
Deixe o campo nome do aluno em branco e clique em enviar. Deverá mostrar uma mensagem de erro.
Preencha o formulário com o nome completo do aluno e clique em enviar. Deverá mostrar a mensagem “Exclusão efetuada”.
Preencha o formulário com o nome do aluno que você acabou de excluir e clique em enviar. Deverá mostrar a mensagem “Aluno não cadastrado”.
6 - Módulo de Alteração
Vamos criar a página com o formulário de alteração.
6.1) Formulário
alteracao.html
<html> <head>
<title>Alteracao.html</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head>
<body>
<table width="640" border="0" cellspacing="0" align="center"> <tr valign="top">
<td> <br>
<!mensagem>
<p><b>Formulário de alteração </b></p> <form method="post" action="alteracao.php">
<p>Nome completo: <input type="text" name="nome" size="25" maxlength="50"></p> <p><input type="submit" name="Submit" value="Enviar"></p>
</form> <center><b><a href="index.html">Voltar</a></b></center> </td> </tr> </table> </body> </html>
Após digitar o código, salve-o e teste-o. Quando o formulário for submetido, dará um erro, alertando que o script
alteracao.php
(para o qual estamos encaminhando os dados) não existe. Precisamos, então, criá-lo. Notem que esta página não será mais HTML e sim PHP, pois conterá blocos de código em PHP.6.2) Script alteracao.php
Este script receberá o dado do formulário, recuperará as informações do banco de dados e irá mostrá-las num formulário para que elas sejam alteradas. Para montar o formulário,
criaremos uma função em PHP. <?php
include ("funcoes.php");
// Tirar espaço em branco das variáveis recebidas do formulário $nome = trim($_POST["nome"]);
// Consiste Nome if (empty($nome))
{
$html = file("alteracao.html"); $html = implode(" ",$html);
$erro = "<center><font color=\"#FF0000\"> Preencha o campo <b>Nome</b></font></center>"; $html = str_replace("<!mensagem>",$erro,$html);
echo ($html); }
else {
// Cria uma conexão com o servidor PostgreSQL, onde XXX = fatnoite / engtarde
pg_connect("host=localhost dbname=xxx user=xxx password=xxx") or die("Erro ao conectar ao banco de dados");
// Declaração do SQL
$declar = "SELECT nome, idade, telefone, email, hobby from alunos where nome = '$nome'"; // Roda a query e verifica se encontrou registro
$query = pg_query ($declar) or die ("Erro no acesso ao banco"); $achou = pg_num_rows($query);
// Se encontrou, guarda as variáveis if ($achou > 0)
{
$row = pg_fetch_row ($query); $nome = $row[0]; $idade = $row[1]; $telefone = $row[2]; $email = $row[3]; $hobby = $row[4]; $script_chamador = 'A'; monta_pagina($nome,$idade,$telefone,$email,$hobby,$script_chamador); } else { echo (' <html> <head> <title>Alteracao.php</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head>
<body> ');
echo ("<br>"); echo ("<BR><BR>");
echo ("<center> <b> Aluno não cadastrado </b> </center>"); echo ("<BR>");
echo ("<center> <b> <a href=\"alteracao.html\">Voltar</a></b></center>"); }
} ?> </body> </html>
Notem que, no código que acabamos de digitar, estamos chamando a função
monta_pagina
, passando como parâmetros as variáveisnome, idade, telefone,
hobby
.As funções são úteis porque podem ser reutilizadas em vários programas, além disso, o tamanho do código do programa chamador diminui consideravelmente.
Podemos criar um único script (exemplo:
funcoes.php
) que conterá todas as funções. Um detalhe importante que não podemos esquecer é que precisamos incluir esse programa de funções em nosso programa chamador. No código visto anteriormente temos o comandoinclude ("funcoes.php")
logo no início do código PHP.6.3) Script
funcoes.php
Este script pode armazenar todas as funções que serão utilizadas no site. Neste curso usaremos apenas a função monta_pagina. Essa função serve para montar o formulário já preenchido, com as informações que foram passadas como parâmetros no programa anterior. Observação: essa função também é chamada pelo script
alteracao2.php
, e com algumas alterações, poderia ser usada para recriar o formulário do módulo de inclusão.<?php function monta_pagina($nome,$idade,$telefone,$email,$hobby,$script_chamador) { echo (' <html> <head> <title>Inclusao.php</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> '); echo ("<br>"); if ($script_chamador == 'A2') {
echo ("<font color=\"#FF0000\"><b>Campo(s) obrigatório(s) não preenchido(s)</b></font>"); }
echo "
<table width=\"640\" border=\"0\" cellspacing=\"0\" align=\"center\"> <tr>
<td>
<p><b>Formulário de alteração: <br></b></p> <form method=\"post\" action=\"alteracao2.php\"> <p>Nome: $nome </p>
<p>Idade: <input type=\"text\" name=\"idade\" value=\"$idade\" size=\"40\" maxlength=\"40\"></p>
<p>Telefone: <input type=\"text\" name=\"telefone\" value=\"$telefone\" maxlength=\"10\" size=\"10\"></p>
<p>E-mail: <input type=\"text\" name=\"email\" value=\"$email\" size=\"25\" maxlength=\"25\"></p>
<p>Hobby: <input type=\"text\" name=\"hobby\" value=\"$hobby\" size=\"40\" maxlength=\"40\"></p>
<p> <input type=\"submit\" name=\"Submit\" value=\"Enviar\"><p> <p> <input type=\"hidden\" name=\"nome\" value=\"$nome\"></p> </form> </td> </tr> </table> <center><b><a href=\"alteracao.html\">Voltar</a></b></center> "; } ?>
alteracao2.php
. Isso porque, para completarmos o módulo de alteração precisamos de mais um script que pegue as informações que foram alteradas e as inclua no banco de dados. Observação: como o camponome
não é passado para o scriptalteracao2.php
, por não se tratar de uma variável do formulário, temos que passá-lo como um campo escondido<input type="hidden">
.6.4) Script
alteracao2.php
Este script receberá as informações alteradas, irá consisti-las e gravará no banco de dados.
<?php
// Tirar espaço em branco das variáveis recebidas do formulário $nome = trim($_POST["nome"]);
$idade = trim($_POST["idade"]); $telefone = trim($_POST["telefone"]); $email = trim($_POST["email"]); $hobby = trim($_POST["hobby"]);
if (empty($nome) || empty($idade) || empty($telefone) || empty($hobby)) {
include ("funcoes.php"); $script_chamador = 'A2';
monta_pagina($nome, $idade, $telefone, $email, $hobby, $script_chamador); }
else {
// Cria uma conexão com o servidor PostgreSQL passando host, db, username e senha
pg_connect("host=localhost dbname=geral user=postgres password=postgres") or die("Erro ao conectar ao banco de dados");
$declar = "UPDATE alunos SET idade='$idade', telefone='$telefone', email='$email', hobby='$hobby' WHERE nome='$nome'";
// Roda a query e trata o resultado $tipo_msg = 'A'; if (pg_query($declar)) { $ok = 1; header("Location: exibe_mensagem.php?ok=$ok&tipo_msg=$tipo_msg"); } else { $ok = 2; header("Location: exibe_mensagem.php?ok=$ok&tipo_msg=$tipo_msg"); } } ?> </body> </html>
6.5) Testando o módulo de alteração
Abra o navegador (Mozilla) e digite o endereço do site:
http://localhost/xxx/index.html
onde xxx = engtarde / fatnoite
Deixe o campo nome do aluno em branco e clique em enviar. Deverá mostrar uma mensagem de erro.
Preencha o formulário com um nome de aluno que não existe e clique em enviar. Deverá mostrar a mensagem “Aluno não cadastrado”.
Preencha o formulário com um nome de aluno válido e clique em enviar. Será mostrado um formulário com os dados desse aluno. Altere alguns campos e clique em enviar. Deverá mostrar a mensagem “Alteração efetuada”.