Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

josielold

[Resolvido] Simples mural de recados com php e MySQL

Recommended Posts

Fala pessoal, neste poste trago um mural de recados bem simples mas que

quebra o galho de quem está querendo um.

ele tem uma administração bem ralézinha

útil apenas para deletar mensagens inúteis.

as mensagens são mostradas com paginação, e até que ficou legal o

script.

o arquivo includes/config.php:

» configuração do script

<?php
$titulomural=""; //título do mural de recados
$msgwelcome=""; //mensagem de boas vindas
$server=""; //servidor do banco de dados
$user=""; //usuário do banco de dados
$pass=""; //senha do banco de dados
$database=""; //banco de dados do script
$nummsgpp="15"; //número de mensagens por página
$login=""; //login de admin
$senha=""; // senha de admin
?>
o arquivo includes/conexao.php:
» connexão com o banco de dados
<?php
$conexao=mysql_connect($server,$user,$pass)
or die(mysql_error());
mysql_select_db($database);
?>
o arquivo includes/validacampos.php:
» validar os campos das mensagens
<?php
function vp( )
{
$numargs = func_num_args( );
$arg_list = func_get_args( );
for ($i = 0; $i < $numargs; $i++){
 if(empty($arg_list[$i]))
 return false;
}
return true;
}
?>
o arquivo includes.php:
» inclusões do script
<?php
include("includes/config.php");
include("includes/conexao.php");
include("includes/validacampos.php");
?>
o arquivo index.php:
» motor do script
<?php
include("includes.php");
@$action=$_GET["action"];
echo "
<html>
<head>
<title>$titulomural</title>
</head>
<body>
$msgwelcome
<hr>
";
if(($action==""))
{
echo '
<br>Preencha o formulário abaixo e deixe seu recado!
<form action="?action=enviar" method="post">
<br>nome<input type="text" name="name" value="">
<br>e-mail<input type="text" name="mail" value="">
<br>assunto<input type="text" name="subject" value="">
<br>mensagem <textarea name="message" cows="200" rows="20"> </textarea>
<br><input type="submit" value="enviar">
<br><input type="reset" value="limpar campos">
</form>
';
echo '
<br>Busca por mensagens:
<form method="post" action="?action=buscar">
<br>Nome:<input type="text" name="nomebus" value="">
<input type="submit" value="Buscar">
</form>
';
include("mensagens.php");
}
elseif(($action=="buscar"))
{
$nomebus=$_POST["nomebus"];
$nomebus=mysql_real_escape_string($nomebus);
$busca=mysql_query("SELECT * FROM mensagens WHERE nome LIKE '%$nomebus%' ORDER BY id DESC")
or die(mysql_error());
$totalresults=mysql_num_rows($busca);
if($totalresults==0)
{
echo "Nenhum resultado encontrado para $nomebus<br>";
include("mensagens.php");
}
else
{
echo "$totalresults resultados encontrados para $nomebus<br>";

}
while($linha=mysql_fetch_array($busca))
{

$id=$linha["id"];
$nome=$linha["nome"];
$email=$linha["email"];
$assunto=$linha["assuntomsg"];
$datahora=date('d/m/Y H:i', strtotime($linha['datahora']));
$mensagem=$linha["mensagem"];
echo "
<br>mensagem número $id
<br>enviada por:
<br><a href=\"mailto:$email\"> $nome</a>
<br>Assunto: $assunto
<br>em: $datahora
<br>Mensagem:
<br>$mensagem
";
}
}
elseif(($action=="enviar"))
{
$name=htmlspecialchars($_POST["name"]);
$mail=htmlspecialchars($_POST["mail"]);
$subject=htmlspecialchars($_POST["subject"]);
$message=$_POST["message"];
$message2=htmlspecialchars(nl2br($message));
$datahora=date("Y-m-d H:i");
if(!vp($name,$mail,$subject,$message))
{
echo "favor preencher todos os campos";
}
else
{
$message2=mysql_real_escape_string($message2);
$subject=mysql_real_escape_string($subject);
$mail=mysql_real_escape_string($mail);
$name=mysql_real_escape_string($name);

mysql_query("INSERT INTO mensagens (nome, email, assuntomsg, datahora, mensagem) VALUES ('$name', '$mail', '$subject', '$datahora', 
'$message2')")
or die(mysql_error());
echo "<br>mensagem enviada com sucesso!";
include("mensagens.php");
}
unset($name,$mail,$subject,$message,$message2,$date,$hora);
}
echo "
</body>
</html>
";
?>
o arquivo instala.php:
» instalação do script (o arquivo config.php deve estar configurado corretamente)
<?
include("includes.php");
mysql_query("drop database if exists $database")
or die(mysql_error());
mysql_query("create database $database")
or die(mysql_error());
mysql_query("use $database")
or die(mysql_error());
mysql_query("
CREATE TABLE mensagens(
id INT (20) NOT NULL AUTO_INCREMENT UNIQUE,
nome Varchar (50) NOT NULL,
email Varchar (100) NOT NULL,
assuntomsg Varchar (150) NOT NULL,
datahora DATETIME NOT NULL,
mensagem TEXT NOT NULL,
PRIMARY KEY (id))
 ")
 or die(mysql_error());
 ?>
 o arquivo mensagens.php:
 » exibição das mensagens do mural
 <?php
 //número de mensagens
 $selecao=mysql_query("SELECT id FROM mensagens")
 or die(mysql_error());
 $nummsg=mysql_num_rows($selecao);
 if(($nummsg<"1"))
 {
 echo "não há mensagens postadas";
 }
 else
 {
 echo "<br>número total de mensagens: $nummsg";
 }
 //exibe as mensagens com a paginação
 if (!isset($pg))
 $pg = 0;
 $inicial = $pg * $nummsgpp;
 $cad =mysql_query("SELECT * FROM mensagens ORDER BY id DESC LIMIT $inicial,$nummsgpp")
 or die(mysql_error());
 $contarok =mysql_query( "SELECT * FROM mensagens ORDER BY id DESC")
 or die(mysql_error());
 $total_records = mysql_num_rows($contarok);
 $pages = intval($total_records / $nummsgpp);
 while($linha=mysql_fetch_array($cad))
 {
 $id=$linha["id"];
 $nome=$linha["nome"];
 $email=$linha["email"];
 $assunto=$linha["assuntomsg"];
 $mensagem=$linha["mensagem"];
 $datahora=date('d/m/Y H:i', strtotime($linha['datahora']));
 echo "
 <br>mensagem número $id
 <br>enviada por:
 <br><a href=\"mailto:$email\"> $nome</a>
 <br>
 <br>
 <br>em: $datahora
 <br>Assunto: $assunto
 <br>Mensagem:
 <br>$mensagem
 ";
 }
 if ($pg <> 0) {
 $url = $pg - 1;
 echo "<br><a id=\"mulink\" href=\"?pg=$url\"> Ver mensagens mais recentes</a>";
 }
 else {
 echo "<br> ";
 }
 if ($pg < $pages) {
 $url = $pg + 1;
 echo "<br><a id=\"mulink\" href=\"?pg=$url\"> ver mensagens mais antigas</a>\n";
 }
 else {
 echo "<br> ";
 }
 ?>
 o arquivo admin/admin.php:
 » administração
 <?
 SESSION_START();
 include("protecao.php");
 ?>
 <html>
 <head>
 <title>Mural de recados - administração</title>
 </head>
 <body bgcolor="#00ff00">
 <br><b>Administração do mural de recados</b>
 <hr>
 <?
 $admin=$_SESSION["admin"];
 echo "<br><b>Olá, $admin!</b>";
 echo "<br><b>Seja bem-vindo ao mural de recados!</b>";
 echo "<ul>";
 echo "<br><li><a href=\"log-out.php\"> Sair</a></li>";
 echo "<br><li><a href=\"delete.php\"> deletar mensagens</a></li>";
 ?>
 </body>
 </html>
 o arquivo admin/altentica.php:
 » altenticar o administrador
 <?
 SESSION_START();
 ?>
 <html>
 <head>
 <title>Mural de recados - administração</title>
 </head>
 <body bgcolor="#00ff00">
 <br><b>Administração do mural de recados</b>
 <hr>
 <?
 include("../includes.php");
 $loginentrado=$_POST["login"];
 $senhaentrada=$_POST["senha"];
 if(($senha==''&&$login==''))
 {
 echo "preencha todos os campos";
 }
 else
 {
 if(($loginentrado!=$login))
 {
 echo "Login incorreto!";
 }
 elseif(($senhaentrada!=$senha))
 {
 echo "Senha incorreta!";
 }
 else
 {
 $_SESSION["admin"]=$loginentrado;
 header("location:admin.php");
 }
 }
 ?>
 </body>
 </html>
 o arquivo admin/delete.php:
 » deletar mensagens
 <?
 SESSION_START();
 include("protecao.php");
 include("../includes.php");
 @$iddelete=$_GET["id"];
 echo "<html>
 <head>
 <title>Mural de recados - administração</title>
 </head>
 <body bgcolor=\"#00ff00\">
 <br><b>deletar mensagens</b>
 ";
 if(($iddelete==''))
 {
 $selecao=mysql_query("SELECT * FROM mensagens ORDER BY id DESC")
 or die(mysql_error());
 $nummsg=mysql_num_rows($selecao);
 if(($nummsg<1))
 {
 echo "Nenhuma mensagem postada no mural";
 }
 else
 {
 echo "número de mensagens postadas: $nummsg";
 echo "<br/>";
 echo "
 <br>Mostrando mensagens por:
 <table bgcolor=\"#00ff00\">
 <tr>
 <td>ID</td>
 <TD>NOME</TD>
 <TD>E-MAIL</TD>
 <TD>ASSUNTO</TD>
 <TD>DATA DE ENVIO</TD>
 <TD>MENSAGEM</TD>
 <TD>EXCLUIR</TD>
 </tr>
 ";
 while($linha=mysql_fetch_array($selecao))
 {
 $id=$linha['id'];
 $nome=$linha['nome'];
 $email=$linha['email'];
 $assunto=$linha['assuntomsg'];
 $data=$linha['datahora'];
 $mensagem=$linha['mensagem'];
 echo "
 <tr>
 <td>$id</td>
 <td>$nome</td>
 <td>$email</td>
 <td>$assunto</td>
 <td>$data</td>
 <td>$mensagem</td>
 <td><a href=\"delete.php?id=$id\"> Excluir</a></td>
 </tr>
 ";
 }
 echo " </table>";
 }
 }
 else
 {
 mysql_query("DELETE  FROM mensagens WHERE id='$iddelete'")
 or die(mysql_error());
 echo "<br>Mensagem deletada com sucesso!";
 }
 ?>
 </body>
 </html>
 arquivo admin/index.php:
 » logar o administrador
 <html>
 <head>
 <title>Mural de recados - administração</title>
 </head>
 <body bgcolor="#00ff00">
 <br><b>INFORME SEU LOGIN E SENHA DE ADMINISTRADOR A BAIXO PARA ENTRAR NA ADMINISTRAÇÃO DO SISTEMA</b>
 <br>
 <hr>
 <form action="altentica.php" method="post">
 <br>Login:<input type="text" name="login" value="">
 <br>senha:<input type="password" name="senha" value="">
 <br><input type="submit" value="entrar">
 </form>
 </body>
 </html>
 o arquivo log-out.php:
 » sair
 <?
 SESSION_START();
 include("protecao.php");
 $admin=$_SESSION["admin"];
 session_destroy();
 echo "<html>
 <head>
 <title>mural de recados - administração</title>
 </head>
 <body bgcolor=\"#00ff00\">
 ";
 echo "O log out de$admin foi efetuado com sucesso!";
 echo "</body></html>";
 ?>
 </body>
 </html>
 arquivo protecao.php:
 » validar session
 <?
 if(!isset($_SESSION['admin']))
 {
 echo "Você não tem permissão para acessar a página";
 exit;
 }
 else
 {
 }
 ?>
é isso aí pessoal, espero que gostem do mine mural de recados mas que

ajuda muito.

como vocês devem ter percebido, tem até um sisteminha de busca simples

aí.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.