Guestbook – Livro de Visitas – Script PHP Simples

 

Muitas pessoas me peguntam como se faz ou pedem ajuda para construir guestbooks, livros de visita e mural de recados (que são basicamente a mesma coisa) com PHP e MySql. Geralmente é difícil parar tudo que estou fazendo para ajudar alguém com conhecimentos bem básicos a construir um script desses.

As pessoas acham que um guestbook é algo simples, mas pode se tornar bastante complexo se forem levadas em conta características de segurança e validação de dados. Sendo assim, o script que apresento a seguir não segue premissas de segurança. Serve apenas para estudo, uma vez que é extremamente rasteiro o código utilizado. Portanto, não utilize este script em seu site aberto ao público. Ou use por sua conta e risco.

O sistema é composto por 3 arquivos:

1. guestbook.php
2. addguestbook.php
3. viewguestbook.php

 

E você seguirá 4 passos básicos para completar o trabalho:

1. Criar uma tabela chamada “guestbook” no banco da dados “teste“.
2. Criar o arquivo guestbook.php.
3. Criar o arquivo addguestbook.php.
4. Criar o arquivo viewguestbook.php.

1 – Criando a tabela na base de dados

CREATE TABLE `guestbook` (`id` int(4) NOT NULL auto_increment,`nome` varchar(65) NOT NULL default '',`email` varchar(65) NOT NULL default '',`comentario` longtext NOT NULL,`datetime` varchar(65) NOT NULL default '',PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

Sua base de dados deve ficar assim:

Tabela Guestbook

Tabela Guestbook

2 – Criando o arquivo guestbook.php

<table width="400" border="0" align="center" cellpadding="3" cellspacing="0">
<tr>
<td><strong>Guestbook Teste</strong></td>
</tr>
</table>
<table width="400" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<form id="form1" name="form1" method="post" action="addguestbook.php">
<td>
<table width="400" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">
<tr>
<td width="117">Nome</td>
<td width="14">:</td>
<td width="357"><input name="nome" type="text" id="nome" size="40" /></td>
</tr>
<tr>
<td>Email</td>
<td>:</td>
<td><input name="email" type="text" id="email" size="40" /></td>
</tr>
<tr>
<td valign="top">Comentario</td>
<td valign="top">:</td>
<td><textarea name="comentario" cols="40" rows="3" id="comentario"></textarea></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td><input type="submit" name="Submit" value="Enviar" /> <input type="reset" name="Submit2" value="Reset" /></td>
</tr>
</table>
</td>
</form>
</tr>
</table>
<table width="400" border="0" align="center" cellpadding="3" cellspacing="0">
<tr>
<td><strong><a href="viewguestbook.php">Ver Guestbook</a> </strong></td>
</tr>
</table>

3 – Criando o arquivo addguestbook.php

<?php
$host="localhost"; // Servidor
$username=""; // Usuario do Mysql
$password=""; // Senha do Mysql
$db_name="test"; // Nome do banco de dados
$tbl_name="guestbook"; // Nome da tabela
//Conecte ao servidor e selecione a base de dados.
mysql_connect("$host", "$username", "$password")or die("cannot connect server");
mysql_select_db("$db_name")or die("cannot select DB");
$datetime=date("y-m-d h:i:s"); //date time
$sql="INSERT INTO $tbl_name(nome, email, comentario, datetime)VALUES('$nome', '$email', '$comentario', '$datetime')";
$result=mysql_query($sql);
//checar se a query teve sucesso
if($result){
echo "Sucesso";
echo "<BR>";
echo "<a href='viewguestbook.php'>Ver guestbook</a>"; // link para ver o guestbook
}
else {
echo "ERRO";
}
mysql_close();
?>

4 – Criando o arquivo viewguestbook.php

<table width="400" border="0" align="center" cellpadding="3" cellspacing="0">
<tr>
<td><strong>Ver Guestbook | <a href="guestbook.php">Assinar Guestbook</a> </strong></td>
</tr>
</table>
<br>
<?php
$host="localhost"; // Servidor
$username=""; // Usuario do Mysql
$password=""; // Senha do Mysql
$db_name="test"; // Nome do banco de dados
$tbl_name="guestbook"; // Nome da tabela
// Conecte ao servidor e selecione a base de dados.
mysql_connect("$host", "$username", "$password")or die("cannot connect server ");
mysql_select_db("$db_name")or die("cannot select DB");
$sql="SELECT * FROM $tbl_name";
$result=mysql_query($sql);
while($rows=mysql_fetch_array($result)){
?>
<table width="400" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<td><table width="400" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">
<tr>
<td>ID</td>
<td>:</td>
<td><? echo $rows['id']; ?></td>
</tr>
<tr>
<td width="117">Nome</td>
<td width="14">:</td>
<td width="357"><? echo $rows['nome']; ?></td>
</tr>
<tr>
<td>Email</td>
<td>:</td>
<td><? echo $rows['email']; ?></td>
</tr>
<tr>
<td valign="top">Comentario</td>
<td valign="top">:</td>
<td><? echo $rows['comentario']; ?></td>
</tr>
<tr>
<td valign="top">Date/Time </td>
<td valign="top">:</td>
<td><? echo $rows['datetime']; ?></td>
</tr>
</table></td>
</tr>
</table>
<BR>
<?
}
mysql_close(); //fechar base de dados
?>

Espero realmente ter ajudado a todos que buscam o conhecimento no PHP e, bons estudos!

Me siga no Twitter para ficar por dentro das novidades do blog.

Sobre Hellston Linhares

Profissional que trabalha exclusivamente através da internet a vários anos e possui muita experiência na área de internet marketing, monetização, SEO, links patrocinados, programas de afiliados, sites de membro, comércio eletrônico, programação, redes sociais e "estratégias ninja" para fazer qualquer coisa na web! Além de tudo isso, gosto de fazer amizades e ajudar os amigos a montarem seus negócios na internet!