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
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
E configure-o da seguinte forma:

Figura 03
Note vários detalhes:
Seu formulário deve estar assim:
Figura 04
Selecione o campo Text Field dataMenu Modify > Edit Tag ou Ctrl + F5. Configure igual a tela abaixo:

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
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
...pelo Painel Bindings insira ao lado de data seu registro correspondente. Repita a operação para os campos restantes, exceto o id.

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
...selecione o recordset rs_guestbook.

Figura 10
Testando no navegador (Firefox)...

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
....escolha o recordset rs_guestbook e "Show" 10 Records at a Time.

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

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
Você terá suas opções de barra de navegação, tipo texto e com imagens. Escolha imagens.
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
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
No arquivo visita.php....
Figura 20
Depois de alguns ajustes com CSS, nosso Guestbook...
Figura 21
Um abraço.

Muito bom o tutorial, consegui fazer sem problemas. Espero que você possa nos alegrar muito tempo com seus conhecimentos.
Até a próxima !

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 <br> após o comando Mensagem:<?php echo $row_rs_book['mensagem']; ?><br></p></td> mas não resolveu. O que pode estar de errado? Obrigado!
Responder comentário
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!!!
Responder comentário
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

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
Responder comentário
Muito bom, foi muito simples acompanhar esta procedimento, ficou perfeito.
Responder comentário
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.

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!!!
Responder comentário
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.

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!
Responder comentário
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!
Responder comentário
Parabens pelo tutorias são excelente sou autodidata e aqui acho tudo que preciso para estudar todos os dias entro no site.
Responder comentário
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.

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

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?
Os textos publicados neste espaço são de responsabilidade única de seus autores (colunistas e leitores) e podem não expressar necessariamente a opinião do iMasters.
Marcelo Oliveira trabalha com Dreamweaver desde 1999, possui a formação Macromedia Dreamweaver Developer e coordena o DWMX.
2001 - iMasters FFPA Informática Ltda - Todos os direitos reservados.