
04/02/2003 - 10 dicas de Webdesign para salvar seu site
08/12/2003 - Unindo e separando traçados - Fireworks
30/03/2006 - Trabalhando com ' Data e Hora ' no seu site
09/01/2003 - Segurança em programação PHP
28/04/2007 - Exclusão de fundo chapado com Máscara de Cor
09/02/2003 - Artigo Arrays II
07/09/2006 - Classe MovieClipLoader( ) : Como usá-lo ?
14/01/2005 - Validando um e-mail checando se o domínio existe ou não...
29/01/2003 - Marketing Viral
30/04/2005 - Validação de Formularios em JSP
09/01/2003 - Paginando registros com o Dreamweaver MX
11/06/2006 - Page Rank da ADOBE
09/01/2003 - Excluindo registros
28/01/2003 - Instalando Plug-ins
Luiz Antonio Bovi - Programador Web
Criador e administrador do Portal SOS Designers, desenvolvedor web desde 2002, ênfase na programação PHP com banco de dados mysql e elaboração de layouts e trabalhos gráficos.
Leituras: 28236 - Luiz Antonio Bovi
Primeiramente vamos estruturar o banco de dados e criar um arquivo de conexão entre o banco de dados e o site.
Abaixo o código para criação das tabelas no banco de dados MYSQL:
CREATE TABLE `mural` (
`id_recado` int(10) unsigned NOT NULL auto_increment,
`titulo` varchar(80) default NULL,
`conteudo` longtext,
`data_cadastro` date default NULL,
`autor` text,
`email` text,
PRIMARY KEY (`id_recado`)
) ;
Agora vamos criar o arquivo de conexão do sistema com o banco de dados.
conexao.php
$conexao = mysql_connect (“endereço do banco”,“usuário”, “senha”) OR die (mysql_error()); // Conectando ao mysql
mysql_select_db ("nomedobanco") OR die (mysql_error()); // Conectando em uma base de dados
?>
A conexão com o banco de dados esta feito, agora vamos iniciar a elaboração da programação do nosso mural de recados.
index.php
A página index.php será responsável no envio das mensagens dos usuários e exibição dos recados no site.
Veja abaixo o código fonte documentado da página:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Mural de recados - Portal SOS Designers</title>
</head>
<body>
<h1>:: Mural de Recados - Portal SOS Designers::</h1>
<fieldset> <legend>Postar mensagem no mural de recados </legend>
<!— Abaixo o formulário de contato responsável pelo cadastro das mensagens. As informações do formulário serão enviadas para a pagina cadastro.php responsável pelo registro das mensagens no banco de dados.-->
<form id="formulario" name="formulario1" method="post" action="cadastro.php">
<strong>Seu nome </strong><br /> <input name="nome" type="text" id="nome" /> <br /> <br />
<strong>Seu email :</strong> <br /> <input name="email" type="text" id="email" /> <br /> <br />
<strong>Titulo do recado :</strong> <br /><input name="titulo" type="text" id="titulo" /> <br /> <br />
<strong>Seu recado:</strong><br /> <textarea name="mensagem" cols="50" rows="5" id="mensagem"></textarea> <br /> <br />
<input type="submit" name="Submit" value="Postar mensagem" />
<input type="reset" name="Submit2" value="Redefinir formulario" /> </form></fieldset><br /><fieldset><legend>
<strong> Exibir mensagens do mural de recados</strong> </legend><br />
<? include "conexao.php"; // Incluir o arquivo de conexão com o banco de dados
Abaixo vamos exibir os recados com um sistema de paginação
$recados = mysql_query ("SELECT * FROM mural ORDER BY id_recado DESC") OR die (mysql_error()); // Selecionando todas as mensagens da tabela mural em ordem de registro
$pagina = $_GET['pagina']; // Pega o numero da pagina caso ocorra a paginação
$lpp = 5; // Números de registros por página.
$total = mysql_num_rows ($recados); // Pega o numero total de registros do banco de dados.
$paginas = ceil($total / $lpp); // Retorna o total de páginas
if(!isset($pagina)) { $pagina = 0; } // Especifica uma valor para variável pagina
$inicio = $pagina * $lpp; //Retorna qual o primeiro registro a ser mostrado no MySQL
$sql = mysql_query("SELECT * FROM mural ORDER BY id_recado DESC LIMIT $inicio,$lpp") OR die (mysql_error()); //Seleciona todos os recados postados para exibir em paginações
while($exibir_recados=mysql_fetch_array($sql))
{ // Exibe todos os registros da tabela mural na página.
$data = explode('-',$exibir_recados[data_cadastro]); // Vamos utilizar neste tutorial uma função do PHP chamado “explode” responsável em dividir uma determinada string em partes, neste caso vamos pegar a data gravada no banco de dados que tem como padrão o formato (aaaa-mm-dd) e exibir na página no formato brasileiro (dd-mm-aaaa)
?>
<br />
Titulo: <strong><? echo "$exibir_recados[titulo]"; // Exibe o titulo do recado postado pelo usuário.
?></strong>
<br />
Postado por: <strong> <? echo "$exibir_recados[autor] </strong> em $data[2]/$data[1]/$data[0]"; // Exibe o nome do usuário e a data da postagem do recado já no formato brasileiro.
?>
<br />
Recado: <? echo "$exibir_recados[conteudo] <hr />"; // Exibe o recado do usuário.
}
// Fim dos registros
// Abaixo a paginação caso seja necessário.
if($pagina > 0) // Link para pagina anterior do sistema de paginação
{
$menos = $pagina - 1;
$url = "index.php?pagina=$menos";
echo "<a href=$url>Anterior</a>\n";
}
for ($i=0; $i<$paginas;$i++) // No caso de vários registros o sistema lista o numero de paginas
{
$url = "index.php?pagina=$i";
if ($total<=$lpp){
echo "";
}
else
{
echo " | <a href=$url>$i</a>\n";
}
}
if($pagina < ($paginas - 1)) // Link para a próxima pagina do sistema de paginação
{
$mais = $pagina + 1;
$url = "index.php?pagina=$mais";
echo " | <a href=$url>Próxima</a>\n";
}
?>
</fieldset>
</body>
</html>
Agora vamos criar a programação da página que grava os registros enviados do formulário no banco de dados.
cadastro.php
< ?
extract($_POST); // Pega todos os campos vindos do formulário peço método POST de uma só vez
$data = date("Ymd"); // Variável que armazena a data atual no banco de dados
$recados = mysql_query("INSERT INTO mural (data,titulo,conteudo,autor,email) VALUES ('$data','$titulo','$mensagem','$nome','$email')") OR die (mysql_error());// Adiciona o recado do usuário no banco de dados
mysql_close(); // fecha a conexão com o banco de dados
header("location:index.php") // Após adicionar o registro no banco de dados o sistema redireciona a página para “index.php”
? >
Qualquer dúvida relacionado ao sistema por favor utilize o Fórum de Duvidas do Portal SOS Designers.
Forte abraço a todos!