Você está na página 1de 19

Anlise e Desenvolvimento de Sistemas

Disciplina: Prof.(a): Aula: Semestre: Programao Web I Veronice de Freitas 05 - PHP / MySQL 5

Aula Atividade
Objetivo da Atividade: Essa atividade tem por funo trabalhar com contedos abordados na disciplina usando PHP e MYSQL. Orientao: Caro aluno, O exemplo agenda de contato (autor: Alexandre Pina) possibilita executar as opes relacionadas a um CRUD (acrnimo de Create, Read, Update e Delete em lngua Inglesa). Faa download do exemplo referente a agenda (ser disponibilizado no frum) durante a aula atividade da teleaula 05. Para executar o exemplo necessrio criar o banco de dados bdAgenda e criar a tabela exemplo agenda. Atividade: Nessa atividade para analisa / testar o exemplo seguindo a sequncia de cdigos relacionada a seguir. Obs: verifique a ordem de execuo dos cdigos no texto. Se tentar executar diretamente cada arquivo ir apresentar mensagem de erro devido aos parmetros que enviado em cada operao. Arquivo principal

Obs: nos cdigos foram utilizados blocos de estilos internos dentro dos arquivos (aps analisar e executar os cdigos). Faa uma cpia dos arquivos em outra pasta e altere os cdigos excluindo as formataes internas para definir a formatao em um arquivo CSS.

UNOPAR VIRTUAL (pgina: 1)

Anlise e Desenvolvimento de Sistemas


<head> <title> Exemplo - Like</title>

Exemplo: arquivo externo

<link rel="stylesheet" type="text/css" href="css/geral.css" /> </head>

Exemplo: arquivo geral.css Obs: se os nomes dos estilos forem diferentes dos nomes das tags HTML necessrio usar a especificao class para usar o estilo no documento. Por exemplo: class="myinputstyle">
BODY { background: #7093DB; Obs: esse arquivo pode ser color: #000000; font-family: Tahoma, Verdana, sans-serif; colocado dentro da pasta font-size: 11px; css. font-weight: normal; margin-bottom: 0; margin-left: 0; Estilo que foi usado margin-right: 0; margin-top: 0; internamente nos arquivos text-decoration: none; que podem ser includos no scrollbar-darkshadow-color: #78acff; arquivo geral.css. scrollbar-3dlight-color: #78acff; scrollbar-arrow-color: #000000; scrollbar-base-color: #eaf2ff; scrollbar-face-color: #eaf2ff; <style type="text/css"> scrollbar-highlight-color: #eaf2ff; scrollbar-shadow-color: #eaf2ff; .myinputstyle { scrollbar-track-color: #ffffff; border: 1px solid #FFFFFF; } background: url(none) no-repeat #FFFFFF; font-family: tahoma, helvetica, sansh1 { serif; border-width: thick; font-style: normal; border-style: outset; font-size: 14px; border-color: gold; color: #454743; } } h2 { border-width: 20px; .mylabelstyle { border-style: double; font-family: tahoma, helvetica, sansborder-color: red; serif; } font-style: bold; p { font-size: 13px; border-top-width: 1px; color: #82983e; border-style: solid; } border-color: blue; </style> } TH { font-family:tahoma,sans-serif; font-size:11px; background: #009ACD; color:#000066; text-decoration:none;

UNOPAR VIRTUAL (pgina: 2)

Anlise e Desenvolvimento de Sistemas


font-weight: normal; text-indent: 4px; height:30px; } TR.zebraA { font-family:tahoma,sans-serif; font-size:11px; background: #CAE1FF; color:#000066; text-decoration:none; font-weight: normal; text-indent: 4px; height:30px; } TR.zebraB { font-family:tahoma,sans-serif; font-size:11px; background: #BCD2EE; color:#000066; text-decoration:none; font-weight: normal; text-indent: 4px; height:30px; } TD { font-family: Tahoma, Verdana, sans-serif; font-size: 12px; }

NOME DO BANCO DE DADOS PHPMYADMIN - bdAgenda bdAgenda (crie o banco de dados) bdAgenda

Executar o script criar a tabela agenda (prximo cdigo)

TABELA agenda (crie a tabela)


UNOPAR VIRTUAL (pgina: 3)

Anlise e Desenvolvimento de Sistemas

create table agenda ( id_contato int auto_increment primary key, nome varchar(100), telefone varchar(12), comercial varchar(12), celular varchar(12), celular2 varchar(12), email varchar(100), site varchar(100), observacao varchar(100) ); ARQUIVO DE CONFIGURAES config.php
<?php $db = mysql_connect("127.0.0.1","root",""); $dado = mysql_select_db("bdAgenda",$db); ?>

Informar no arquivo de configuraes o nome do banco de dados bdAgenda

TELA INICIAL DA AGENDA DE CONTATOS (agenda.php)

Ao clicar em cada letra ir obter a listagem de contato correspondente.

Acesso ao formulrio de cadastro.


<!-- Agenda de contatos desenvolvida por Alexandre Pina alexandrepina25@yahoo.co.uk --> <?php Mtodo GET include "config.php"; Envia a letra do alfabeto ?> que ser usada como <h1 align = Center> AGENDA DE CONTATOS </h1> <br> <br> <a href="pesquisa_agenda.php?contato=a">A</a> &nbsp; <a href="pesquisa_agenda.php?contato=b">B</a> &nbsp;

critrio de pesquisa para listar os dados

UNOPAR VIRTUAL (pgina: 4)

Anlise e Desenvolvimento de Sistemas


<a href="pesquisa_agenda.php?contato=c">C</a> &nbsp; <a href="pesquisa_agenda.php?contato=d">D</a> &nbsp; <a href="pesquisa_agenda.php?contato=e">E</a> &nbsp; <a href="pesquisa_agenda.php?contato=f">F</a> &nbsp; <a href="pesquisa_agenda.php?contato=g">G</a> &nbsp; <a href="pesquisa_agenda.php?contato=h">H</a> &nbsp; <a href="pesquisa_agenda.php?contato=i">I</a> &nbsp; <a href="pesquisa_agenda.php?contato=j">J</a> &nbsp; <a href="pesquisa_agenda.php?contato=k">K</a> &nbsp; <a href="pesquisa_agenda.php?contato=l">L</a> &nbsp; <a href="pesquisa_agenda.php?contato=m">M</a> &nbsp; <a href="pesquisa_agenda.php?contato=n">N</a> &nbsp; <a href="pesquisa_agenda.php?contato=o">O</a> &nbsp; <a href="pesquisa_agenda.php?contato=p">P</a> &nbsp; <a href="pesquisa_agenda.php?contato=q">Q</a> &nbsp; <a href="pesquisa_agenda.php?contato=r">R</a> &nbsp; <a href="pesquisa_agenda.php?contato=s">S</a> &nbsp; <a href="pesquisa_agenda.php?contato=t">T</a> &nbsp; <a href="pesquisa_agenda.php?contato=u">U</a> &nbsp; <a href="pesquisa_agenda.php?contato=v">V</a> &nbsp; <a href="pesquisa_agenda.php?contato=w">W</a> &nbsp; <a href="pesquisa_agenda.php?contato=x">X</a> &nbsp; <a href="pesquisa_agenda.php?contato=y">Y</a> &nbsp; <a href="pesquisa_agenda.php?contato=z">Z</a> &nbsp; <br> <br> <a href="form-cad-agenda.php"><h3>Inserir Novo contato</h3></a> <!-- Agenda de contatos desenvolvida por Alexandre Pina alexandrepina25@yahoo.co.uk -->

INSERIR NOVO CONTATO (form-cad-agenda.php)

UNOPAR VIRTUAL (pgina: 5)

Anlise e Desenvolvimento de Sistemas

<?php include "config.php"; ?> <a href="agenda.php">Voltar</a> <br>

Obs: Nesse exemplo foi utilizado bloco de cdigo CSS interno dentro do cdigo. Obs: nos exemplos usados nas teleaulas foi utilizado na seo head.

<link rel="stylesheet" type="text/css" href="css/geral.css" /> <h1 align=Center>Agenda de contatos </h1> Obs: Outra forma de usar CSS da forma inline, como por exemplo: </center> <style type="text/css"> <p style="color:#000; margin: 5px;"> </p>

/** You can use this style for your INPUT, TEXTAREA, SELECT elements **/ .myinputstyle { border: 1px solid #FFFFFF; /** remember to change image path **/ background: url(none) no-repeat #FFFFFF; font-family: tahoma, helvetica, sans-serif; font-style: normal; font-size: 14px; Arquivo que ir color: #454743; inserir o registro. } /** You can use this style for your LABEL elements **/ .mylabelstyle { font-family: tahoma, helvetica, sans-serif; font-style: bold; font-size: 13px; color: #82983e; Mtodo POST } </style> <FORM name=agenda method=post class="myinputstyle"> <hr> <TABLE BORDER=0 align="center" <TR> <TD bgcolor="#66cc00" class="myinputstyle" size=100>Nome:</TD> <TD bgcolor="#EBEBEB"> <INPUT type=text name="nome" size="100" class="myinputstyle"> </TD> </TR> <TR> <TD bgcolor="#CCCCCC" class="myinputstyle" size=13 >Telefone:</TD> <TD bgcolor="#EBEBEB" > <INPUT type=text name="telefone" size="13" class="myinputstyle"> </TD> </TR> <TR> alig="center" action="cadastrar-agenda.php"

Usando o estilo
cellspacing= width="800">

UNOPAR VIRTUAL (pgina: 6)

Anlise e Desenvolvimento de Sistemas


<TD bgcolor="#CCCCCC" class="myinputstyle" size=13 >Telefone Comercial:</TD> <TD bgcolor="#EBEBEB" > <INPUT type=text name="comercial" size="13" class="myinputstyle"> </TD> </TR> <TR> <TD bgcolor="#CCCCCC" class="myinputstyle" size=13 >Celular:</TD> <TD bgcolor="#EBEBEB" > <INPUT type=text name="celular" size="13" class="myinputstyle"> </TD> </TR> <TR> <TD bgcolor="#CCCCCC" class="myinputstyle" size=13 >Celular 2:</TD> <TD bgcolor="#EBEBEB" > <INPUT type=text name="celular2" size="13" class="myinputstyle"> </TD> </TR> <TR> <TD bgcolor="#CCCCCC" class="myinputstyle" size=100 >E-mail:</TD> <TD bgcolor="#EBEBEB" > <INPUT type=text name="email" size="100" class="myinputstyle"> </TD> </TR> <TR> <TD bgcolor="#CCCCCC" class="myinputstyle" size=100 >Site:</TD> <TD bgcolor="#EBEBEB" > <INPUT type=text name="site" size="100" class="myinputstyle"> </TD> </TR> <TR> <TD bgcolor="#CCCCCC" class="myinputstyle">Observaes</TD> <TD bgcolor="#EBEBEB"> <TEXTAREA name=observacao rows=10 cols=40 class="myinputstyle"></TEXTAREA> </td> </TR> <TR> <TD COLSPAN=2 align="center" class="myinputstyle"> <INPUT type="submit" value="Enviar" align="center"> </TD> </TR> </TABLE> </FORM>

INSERIR NOVO CONTATO NO BANCO DE DADOS (cadastrar-agenda.php)


<?php include "config.php"; ?> <?php $sql = "INSERT INTO agenda( nome,

UNOPAR VIRTUAL (pgina: 7)

Anlise e Desenvolvimento de Sistemas


telefone, comercial, celular, celular2, email, site, observacao ) Values ('".$_POST["nome"]."', '".$_POST['telefone']."', '".$_POST['comercial']."', '".$_POST['celular']."', '".$_POST['celular2']."', '".$_POST['email']."', '".$_POST['site']."', '".$_POST['observacao']."' )"; //echo $sql; //Executo a minha query //echo $sql; $query = mysql_query($sql); //Verifico se o registro foi inserido com sucesso if ($query == true) { include "agenda.php"; } else { echo "No foi possivel inserir o registro - entre em contato com o webmaster ".mysql_error(); } ?>

EXIBIR CONTATO (exemplo: na lista de contato selecionei a letra M) Agenda.php

UNOPAR VIRTUAL (pgina: 8)

Anlise e Desenvolvimento de Sistemas

Agenda.php

pesquisa_agenda.php

pesquisa_agenda.php
<h1 align=Center> Agenda de contatos - pesquisa</h1></center> <!-- Agenda de contatos desenvolvida por Alexandre Pina alexandrepina25@yahoo.co.uk --> <font size="verdana"> <?php include "config.php"; ?> <?php $inicial= $_GET['contato']; $busca = mysql_query("select * from agenda where nome like '$inicial%'") or trigger_error('Erro ao executar consutla. Detalhes = ' . mysql_error()); //echo $busca; if (empty($busca)) { //Se nao achar nada, lana essa mensagem echo "<table>"; echo "<tr>"; echo "<td>" ; echo "Nenhum registro encontrado."; echo "</td>"; echo "</tr>"; echo "</table"; } // quando existir algo em '$busca' ele realizar o script abaixo. while ($dados = mysql_fetch_array($busca)) { echo "<table width=500 align=center>";

UNOPAR VIRTUAL (pgina: 9)

Anlise e Desenvolvimento de Sistemas

echo "<td bgcolor=#ebf3ff><b></b>"; echo "</td>"; echo "<tr>"; echo "<td width=50>"; echo "<font size=1>Id: $dados[id_contato]</font>"; echo "</td>"; echo "<td width=450 bgcolor=#ebf3ff>"; echo "<b><a href='agendaexibir.php?id_contato={$dados['id_contato']}'><font color=black size=elvetica>$dados[nome]</font></a><br />"; echo "</tr>"; echo "</td>";

echo echo echo echo

"<td bgcolor=#f8f8fA>"; "</td>"; "</tr>"; "</td>";

echo "</table>"; } echo "<b><center><a href='agenda.php'>Voltar</a></b></center>"; ?> <br>

EXIBIR CONTATO (exemplo: na lista de contato selecionei a letra M) agenda-exibir.php

UNOPAR VIRTUAL (pgina: 10)

Anlise e Desenvolvimento de Sistemas

No cdigo anterior pesquisa_agenda.php apresentado a listagem de contato referente a letra que o usurio escolheu na pgina principal da agenda. Ao selecionar um item da pesquisa apresentado os dados do registro com a opo de Atualizar ou excluir o cadastro.

Atravs dp HREF criado um hiperlink para a opo passando o cdigo do usurio. href='form-alterar-contato.php?id_contato={$dados['id_contato']}'> Atualizar Contato</a></b>";

Obs: para EXCLUIR tambm passado o cdigo do usurio.

<center> <h1>Agenda de Contatos</h1></center> <font size="verdana"> <?php include "config.php"; ?> <?php $inicial= $_GET['id_contato']; $busca = mysql_query("select * from agenda where id_contato='$inicial%'") or trigger_error('Erro ao executar consutla. Detalhes = ' . mysql_error()); if (empty($busca)) { //Se nao achar nada, lana essa mensagem echo "<table>"; echo "<tr>"; echo "<td>" ; echo "Nenhum registro encontrado."; echo "</td>"; echo "</tr>";

UNOPAR VIRTUAL (pgina: 11)

Anlise e Desenvolvimento de Sistemas


echo "</table"; } // quando existir algo em '$busca' ele realizar o script abaixo. while ($dados = mysql_fetch_array($busca)) { echo "<table width=700 align=center>"; echo "<td bgcolor=#ebf3ff><b></b>"; echo "</td>"; echo "</tr>"; echo "<tr>"; echo "<td>"; echo "<b>Id do Contato:</b> $dados[id_contato]<br />";

echo "</tr>"; echo "</td>"; echo "<tr>"; echo "<td>"; echo "<b>Nome completo:</b> <font color=blue>$dados[nome]</font><br />"; echo "</tr>"; echo "</td>"; echo "<tr>"; echo "<td>"; echo "<b>Telefone:</b><font color=blue> $dados[telefone]</font><br />"; echo "</tr>"; echo "</td>"; echo "<tr>"; echo "<td>"; echo "<b>Telefone $dados[comercial]</font><br />"; echo "</tr>"; echo "</td>"; Comercial:</b><font color=blue>

echo "<tr>"; echo "<td>"; echo "<b>Celular:</b><font color=blue> $dados[celular]</font><br />"; echo "</tr>"; echo "</td>"; echo "<tr>"; echo "<td>"; echo "<b>Celular2:</b><font color=blue> $dados[celular2]<font><br />"; echo "</tr>"; echo "</td>";

UNOPAR VIRTUAL (pgina: 12)

Anlise e Desenvolvimento de Sistemas

echo "<tr>"; echo "<td>"; echo "<b>E-mail:</b>&nbsp $dados[email]<br />"; echo "</tr>"; echo "</td>"; echo "<tr>"; echo "<td>"; echo "<b>Site:</b> $dados[site]<br />"; echo "</tr>"; echo "</td>"; echo "<tr>"; echo "<td>";

echo "<b>Observaes:</b> $dados[observacao]<br />"; echo "</tr>"; echo "</td>";

echo "<tr>"; echo "<td>"; echo "<br><br>"; echo "<center<b><a href='form-alterarcontato.php?id_contato={$dados['id_contato']}'>Atualizar Contato</a></b>"; echo "<br><br>"; echo "<center<b><a href='deletarcontato.php?id_contato={$dados['id_contato']}'>Excluir Cadastro</a></b>"; echo "<br><br>"; echo "<b><a href='agenda.php'>Voltar</a></b></center>"; echo "</tr>"; echo "</td>"; echo "<tr>"; echo "<td bgcolor=#f8f8fA>"; echo "</td>"; echo "</tr>"; echo "</td>"; echo "</table>"; } ?> <br>

ALTERAR CONTATO (FORMULRIO)

UNOPAR VIRTUAL (pgina: 13)

Anlise e Desenvolvimento de Sistemas

agenda-exibir.php

form-alterar-contato.php

altera-contato.php

form-alterar-contato.php
<?php include "config.php"; ?> <a href="agenda.php">Voltar</a> <br> <h1 align = Center> Agenda de contatos </h1></img>

<head> <style type="text/css"> /** * Generated by www.formstylegenerator.com

Repete o estilo

UNOPAR VIRTUAL (pgina: 14)

Anlise e Desenvolvimento de Sistemas


**/ /** You can use this style for your INPUT, TEXTAREA, SELECT elements **/ .myinputstyle { border: 1px solid #FFFFFF; /** remember to change image path **/ background: url(none) no-repeat #FFFFFF; font-family: tahoma, helvetica, sans-serif; font-style: normal; font-size: 14px; color: #454743; } /** You can use this style for your LABEL elements **/ .mylabelstyle { font-family: tahoma, helvetica, sans-serif; font-style: bold; font-size: 13px; color: #82983e; } </style> </head>

<?php $sql = "select * from agenda where id_contato=" .$_GET['id_contato']; $resultado = mysql_query($sql) or die ("No foi possivel realizar a consulta"); $linha = mysql_fetch_array($resultado); ?> <br> <center> <h1 align=Center>Alterar Cadastro</h1>

Altera-contato.php contm a instruo SQL para atualizar o banco de dados.


$_GET['id_contato']?>"

<form action="altera-contato.php?id_contato=<?php echo method="post" align="center" class="myinputstyle">

<table width="680" class="myinputstyle"> <tr> <td class="myinputstyle">Nome</td> <td><input name="nome" type="text" value="<?php echo $linha['nome']?>" ></td> </tr> <tr> <td class="myinputstyle">Telefone</td> <td><input name="telefone" type="text" value="<?php echo $linha['telefone']?>" ></td> </tr> <tr> <tr> <td class="myinputstyle">Telefone Comercial</td>

UNOPAR VIRTUAL (pgina: 15)

Anlise e Desenvolvimento de Sistemas


<td><input name="comercial" $linha['comercial']?>"></td> </tr> <tr> <tr> <td class="myinputstyle">Celular</td> <td class="myinputstyle"><input name="celular" $linha['celular']?>"></td> </tr> <tr> <tr> <td class="myinputstyle">Celular2</td> <td class="myinputstyle"><input name="celular2" type="text" value="<?php echo $linha['celular2']?>"></td> </tr> <tr> <tr> <td class="myinputstyle">E-mail</td> <td class="myinputstyle"><input name="email" size=100 type="text" value="<?php echo $linha['email']?>"></td> </tr> <tr> <tr> <td class="myinputstyle">Site</td> <td class="myinputstyle"><input name="site" size=100 type="text" value="<?php echo $linha['site']?>"></td> </tr> <tr> type="text" value="<?php echo

type="text"

value="<?php

echo

<tr> <td class="myinputstyle">Observao</td> <td><input size=100 name="observacao" $linha['observacao']?>"></td> </tr> <tr> <tr> <td align="right" class="myinputstyle"> <input type="submit" value="Alterar"> </td> </tr> </form> </table>

type="text"

value="<?php

echo

ALTERAR CONTATO SQL / UPDATE altera-contato.php


UNOPAR VIRTUAL (pgina: 16)

Anlise e Desenvolvimento de Sistemas

<?php include "config.php"; ?> <a href="agenda.php">Voltar</a> <?php $sql = ("UPDATE agenda SET nome='".$_POST['nome']."', telefone='".$_POST['telefone']."', comercial='".$_POST['comercial']."', celular='".$_POST['celular']."', celular2='".$_POST['celular2']."', email='".$_POST['email']."', site='".$_POST['site']."', observacao='".$_POST['observacao']."' where id_contato=" .$_GET['id_contato']); $resultado = mysql_query($sql) or die (mysql_error()); ?> <br> <h1>Registro Alterado com sucesso</h1> <!-- Agenda de contatos desenvolvida por Alexandre Pina alexandrepina25@yahoo.co.uk -->

EXCLUIR CONTATO (deletar-contato.php)

UNOPAR VIRTUAL (pgina: 17)

Anlise e Desenvolvimento de Sistemas

agenda-exibir.php

deletar-contato

<?php include "config.php"; ?> <a href="agenda.php">Voltar</a> <!-- Agenda de contatos desenvolvida por Alexandre Pina alexandrepina25@yahoo.co.uk --> <?php //Monto minha query de excluso de dados $sql = "DELETE FROM agenda WHERE id_contato = ".$_GET["id_contato"]; //Executo a minha query $query = mysql_query($sql); //Verifico se o registro foi excludo com sucesso if ($query == true) { echo "Registro excludo com sucesso"; } else { echo "No foi possvel excluir seu registro"; } ?>

UNOPAR VIRTUAL (pgina: 18)

Anlise e Desenvolvimento de Sistemas

Observaes: Caro Aluno, Pea para o tutor de sala enviar suas dvidas pelo Chat Atividade para que o professor possa esclarec-las. Tenham um timo trabalho!
Prof.Veronice de Freitas

UNOPAR VIRTUAL (pgina: 19)