Treinamento Online
Quinta-feira, 07 de outubro de 2004 às 15h27

Guestbooks pelo DW, com PHP e MySQL

Guestbook é um sistema de mensagens que pode ser adicionado ao site tendo como objetivo proporcionar uma maior interatividade de seus usuários, que se tornou muito comum em blogs. Vamos desenvolver nesse artigo um pequeno sistema de Guestbook utilizando PHP & MYSQL pelo Dreamweaver. Você pode usar esse sistema como exemplo em um portal de notícias ou um webblog. Esse artigo foi criado por Marcus Pereira, moderador do fórum no site que coordeno sobre Dreamweaver e adapatado por mim.

Nossa primeira ação é criar um banco de dados e uma tabela .Banco = db_tuto79 e tabela com a seguinte estrutura:

CREATE TABLE `tb_tuto79` ( `ID` TINYINT( 9 ) UNSIGNED NOT NULL AUTO_INCREMENT ,
`data` VARCHAR( 15 ) NOT NULL ,
`nome` VARCHAR( 50 ) NOT NULL ,
`email` VARCHAR( 50 ) NOT NULL ,
`mensagem` VARCHAR( 150 ) NOT NULL ,
PRIMARY KEY ( `ID` )
);

Tabela chamada tb_tuto79 com os seguintes campos: ID, data, nome, email e mensagem. Vamos agora estabelcer uma conexão entre o nosso Dreamweaver e o banco de dados:

figura 01
Figura 01

Abra uma página em branco e salve-a com o nome de visita.php. Crie uma tabela 5 linhas e 1 coluna. Na primeira linha digite Livro de Visitas. Na segunda linha vamos colocar o formulário para inserção de dados.

Criando esse formulário:

Na Barra Insert selecione a "aba" Application e Insert Record > Record Insertion Form Wizard.

figura 02
Figura 02

E configure-o da seguinte forma:

figura 03
Figura 03

Note vários detalhes:

  1. em "Afther inserting, go to:" estou determinando que após os dados serem enviados via formulário, retorme para a página visita.php;
  2. para se editar cada coluna (Label, Display As, Submit As) selecione o campo (Column) e escolha uma opção em suas respectivas caixas de opção (setas)

Seu formulário deve estar assim:

figura 04
Figura 04

Selecione o campo Text Field dataMenu Modify > Edit Tag ou Ctrl + F5. Configure igual a tela abaixo:

figura 05
Figura 05

O que fizemos foi configurar como a data será mostrada pelo PHP em seu campo Data: Coloque no Value o código <? echo date("d-m-Y H:i:s"); ?> e coloque o campo somente para leitura Read Only.

Vamos configurar agora como serão mostradas as mensagens. Na terceira linha de nossa tabela em visita.php, digite Mensagens e na quarta linha ficarão as mensagens postadas. Vamos no Painel Server Behaviors e criamos um recordset.

figura 06
Figura 06

Escolhi em "Sort" ID > Descending, para que sempre as últimas mensagens postadas, sejam expostas primeiro. Na quarta linha de nossa tabela, crie outra tabela com 1 linha e 1 coluna. Digite nessa célula: data, nome, email, mensagem.

figura 07
Figura 07

...pelo Painel Bindings insira ao lado de data seu registro correspondente. Repita a operação para os campos restantes, exceto o id.

figura 08
Figura 08

Que tal colocarmos um aviso que "Não existem mensagens postadas"? Gostou da idéia? Então vamos lá. Na terceira linha (Memsagens) escreva: Nenhuma Mensagem Postada. Selecione a frase e vá até o Painel Server Behaviors > Show Region >Show if Recordset Is Empty e...

figura 09
Figura 09

...selecione o recordset rs_guestbook.

figura 10
Figura 10

Testando no navegador (Firefox)...

figura 11
Figura 11

Estamos quase lá. Já é possível inserir mensagens que serão armazenadas em nosso banco MySQL (textos dinâmicos). Só que um texto de cada vez. Usando o Server Behavior Repeat Region, iremos definir quantas mensagens irão aparecer de uma vez. Selecionamos a célula que contém os campos data, nome, email e mensagens (campos que serão repetidos), Painel Server Behaviors > Repeat Region....

figura 12
Figura 12

....escolha o recordset rs_guestbook e "Show" 10 Records at a Time.

figura 13
Figura 13

Novamente, vamos testar nosso Livro de Visitas. Insira alguns itens e F12...

figura 15
Figura 15

Vamos agora inserir uma barra de navegação. Ela será necessária, porque certamente haverão mais registros a serem mostrados, do que a quantidade pré-definida (repeat region). Vamos em nossa quarta linha da tabela em visita.php, abaixo de Mensagem e pela Barra Application > Recordset Paging > Recordset Navigation Bar.

figura 16
Figura 16

Você terá suas opções de barra de navegação, tipo texto e com imagens. Escolha imagens.

figura 17
Figura 17

Veja como ficou a sua barra (Obs: a barra só ficará disponível pelo navegador F12, a medida que for excedido o número de exibições pelo Repeat Region).

figura 18
Figura 18

Finalizando vamos apresentar a quantidade de postagens. Na quinta linha de nossa tabela em visita.php, digite: Total de Mensagens: Vá no Painel Server Behaviors > Display Record Count > Display Total Records.

figura 19
Figura 19

No arquivo visita.php....

figura 20
Figura 20

Depois de alguns ajustes com CSS, nosso Guestbook...

figura 21
Figura 21

Um abraço.

15 comentários

 Gerson Freire de Amorim Filho
07/10/2004 22h48

Só você mesmo, Marcelo !!!

Muito bom o tutorial, consegui fazer sem problemas. Espero que você possa nos alegrar muito tempo com seus conhecimentos.

Até a próxima !

 Fmedina
12/10/2004 12h47

abcd1234

Muito bom este teu artigo, mas tive um problema. Minhas mensagens postadas estão aparecendo lado a lado e não com quebra de linha. Apliquei a tag &lt;br&gt; após o comando Mensagem:&lt;?php echo $row_rs_book['mensagem']; ?&gt;&lt;br&gt;&lt;/p&gt;&lt;/td&gt; mas não resolveu. O que pode estar de errado? Obrigado!

 Fmedina
13/10/2004 00h10

Problema resolvido...

Marcelo, já resolvi o problema refazendo os passos novamente. O que havia feito de errado foi o fato de selecionar a celula e não o texto todo na aplicação do Repeat Region. Ficou 10!!!

 André Sereia
14/10/2004 15h36

Ótima matéria

Cara, que legal, tudo parece simples quando se sabe, parabéns pela matéria e pelo nível de explicação, não tem erro, tudo ficou como o indicado...
... estou esperando mais e mais.
Valeu
Forte Abraço

 Adriano
21/10/2004 12h37

muito bom

não gosto de programar, adorei as dicas p criar conexões de BD's no dreamweaver. Só uma dúvida, tem como corrigir permanentemente aquele bug do dreamweaver que obriga a gente a copiar os arquivos de conecção da pasta de instalação do dreamw. para a pasta do site? valew

 Wesley Willians Ramos da Silva
21/10/2004 20h00

Guestbooks pelo DW, com PHP e MySQL

Muito bom, foi muito simples acompanhar esta procedimento, ficou perfeito.

 Andréa
05/12/2004 16h27

Ocultar coluna

Muito bom isso, funciona perfeitamente, mas e se a pessoa não quiser digitar o e-mail dela? tem comu eu ocultar alguma coluna do BD?
já tentei com "show if" mas só funciona com uma linha do linha e não com uma coluna.

 ANDRÉ LUÍS
28/01/2005 00h32

Conexão DW com BD

Amigos... depois de muito custo montei o banco de dados. agora como faço pra configurar o DW para abrir esse BD, alguém por favor poderia me eninar??? Valeu!!!

 Fernando Sampaio
26/02/2005 14h43

guestbook

Meu querido, adorei essa metéria, aogra tenho duas dúvidas, por favor me responda por email:
1 -eu gostaria de por um botão voltar á pagina anterior, e, se possível, entre eles opções de npúmeros de paginas
2 qual a versão do dream weaver que vc usa?
Grato.

 Nathália Mara de Olivieira
23/08/2005 07h55

Como?

Gostaria que vcs me dessem uma dica de como criar enquetes no DW, os scripts para download estão vindo com erro em outros sites, ou ainda, o script para que os dados do formulário sejam enviados para o meu e-mail, e tbm que o resultado de uma votação seja atualizado automaticamente após a inserção dos dados! Desde jah agradeço!

 Romulo Oliveira Almeida
20/09/2005 00h18

conexão DW com MySQL

Não estou conseguindo conectar o Dreamweaver MX 2004 com o MySQL 4.1.14. Pesquisei sobre o assunto e descobri que clientes MySQL anteriores a versão 4.1 terão problemas para efetuar login pois o sistema de senha do MySQL mudou. Segui a sugestão do Site do MySQL de usar o comando old_password, mas não funcionou e pra piorar não consegui mais me conectar ao MySQL pelo cliente de linha de comando. Quem conseguiu solucionar este problema por favor me ajude!

 Valtemir Luiz dos Santos
06/12/2005 09h37

Excelente

Parabens pelo tutorias são excelente sou autodidata e aqui acho tudo que preciso para estudar todos os dias entro no site.

 Felipe Casaburi
06/12/2006 18h42

Não funciona no servidor

Olá Marcelo.
Sua matéria foi excelente.
Só estou enfrentando um problema e não sei mais como resolver.
Na minha máquina (Windows XP, PHP 4.3.11, MySQL 3.23.49) está funcionando perfeito.
Quando subo para o servidor de meu trabalho (Linux, PHP 4.x, MySQL 4) não roda. A tela simplesmente fica em branco.
No sistema que fiz a partir do tutorial do Leando Vieira "Impedimento de Cadastro Repetidos" também acontece da tela ficar em branco, mas só quando posto o form.
Obrigado desde já e parabéns novamente.

 lucas furlan
10/02/2007 14h26

todos falam q funciona, será??

aqui no meu pc nao funciona porcaria nenhuma... tenho o php 5, mysql etc... tudo funcionado perfeitamente tanto eh q outros tutoriais eu consegui faser e funcionau certinho agora esse fis e refeiz varias veses e nd!!!!
nao entra o comentario num funciona uma tremenda bosta
perdi meu tempo e minha paciencia jah com esse tutorial :@
o drewn eh o mx? hahahah
pq nao fais no 8?? achu q a maioria usa o 8

 Gustavo Paes
06/02/2009 00h53

muito boa a materia mais ainda tenho uma duvida

Bom eu ja sabia inserir comentarios nas minhas noticias,
mais minha duvida é, minhas noticias são filtradas por um comando "idid" que manda para a pag detalhe da noticia e é na pag detalhe_noticia que eu gostaria de inserir os comentarios, eu segui todos os passos mais ai o comentario que fiz em uma noticia tambem aparece nas outras, vc saberia como devo fazer para o comentario aparecer apenas na noticia postada?

Cancelar resposta

Qual a sua opinião?

Faça login abaixo ou cadastre-se rapidamente.


2001 - iMasters FFPA Informática Ltda - Todos os direitos reservados.