Script - Sistema de comentários com PHP | André Buzzo
contato@andrebuzzo.com.br | (11) 9-8551-3500 | facebook | skype:andrebuzzowebdesign

Script – Sistema de comentários com PHP

Publicado na categoria Banco de Scripts com 29.474 visualizações e 143 comentários

Script - Sistema de Comentários com PHP - André Buzzo Webdesign

Fala Pessoas!!

Como todo mundo pediu, seguem abaixo os arquivos para estudo!!

index.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Sistema de comentários</title>
<link href="style.css" rel="stylesheet" type="text/css" media="screen" />
</head>

<body>

<?php
include 'menuSite.php';
?>

<?php 

include 'conteudoSite.php';

?>

</body>

</html>

menuSite.php

<div class="seguraConteudo">
<span><span><a href="#">Link</a></span> || <span><a href="#">Link</a></span> || <span><a href="#">Link</a></span> || <span><a href="#">Link</a></span></span>
</div>

conteudoSite.php

<div class="seguraConteudo">
<h1>Aprendendo a criar um sistema de comentários em PHP</h1>

<a href="noticia01.php">Aprendendo a criar um sistema de comentários em PHP</a>

<a href="noticia02.php">Aprendendo a inserir os comentários dentro do banco de dados</a>

<a href="noticia03.php">Aprendendo a resgatar do banco de dados os comentários relacionados à determinada notícia!</a>
</div>

style.css

* body {
margin:0;
padding:0;
font-family:Arial, Helvetica, sans-serif;
font-size:medium;
color:#000;
line-height:150%;
}

#seguraConteudo {
width:984px;
height:auto;
margin:0 auto;
}

form span {
visibility:hidden;
display:none;
font-weight:bold;
}

form legend {
padding:5px;
font-weight:bold;
color:#036;
background-color:#f2f2f2;
border:1px solid #e1e1e1;
font-size:80%;
}

form label {
font-weight:bold;
color:#033;
float:left;
width:150px;
font-size:80%;
}

form input[type="text"] {

background-color:#ccc;
border:1px solid #666;
padding:5px;
}

form input[type="text"]:hover {

background-color:#999;
border:1px solid #000;
padding:5px;
}

form input[type="text"]:focus {

background-color:#e1e1e1;
border:1px solid #333;
padding:5px;
}

form textarea {
background-color:#ccc;
border:1px solid #666;
padding:5px;
}

form textarea:hover {
background-color:#999;
border:1px solid #000;
padding:5px;
}

form textarea:focus {
background-color:#e1e1e1;
border:1px solid #333;
padding:5px;
}

noticia01.php

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<link href="style.css" rel="stylesheet" media="screen" type="text/css" />
<div id="seguraConteudo">
<h1>Aprendendo a criar um sistema de comentários em PHP</h1>

<p>Integer sapien magna, aliquet imperdiet ultricies quis, egestas ultricies nunc. Ut pharetra magna ut purus ullamcorper porttitor. Donec in metus est, a rhoncus odio. In mollis eleifend eleifend. Sed suscipit ullamcorper commodo. Nulla quis ante vel lorem ornare consectetur. Cras pretium, est id consectetur tincidunt, ante sapien molestie nulla, vel eleifend erat neque at lorem! Curabitur quam purus; accumsan nec adipiscing et, mattis vel tellus. Duis sollicitudin placerat justo, vel ultricies libero dapibus vel. In hac habitasse platea dictumst. Ut interdum justo at mauris congue eu feugiat lorem malesuada. Quisque tellus erat, eleifend id accumsan nec, convallis id ipsum.</p>

<p>Aliquam nunc enim, bibendum sed consectetur ut; rutrum eget mauris. Cras nunc turpis, bibendum id lacinia in, ultrices ut mi. Ut dapibus tortor at augue egestas laoreet. Donec vitae nisl ipsum. Nulla massa eros, rutrum a mollis sit amet, pretium quis erat. Ut condimentum mi ac nunc eleifend viverra. Fusce elit metus, feugiat eget gravida eget, vestibulum eu elit. Nullam tincidunt luctus neque, at luctus dui pellentesque varius. Donec eleifend orci ac justo viverra aliquet. Sed pulvinar placerat varius. In at sem in tellus tristique ullamcorper. Proin hendrerit arcu sit amet sem fermentum non facilisis eros tincidunt.</p>

<p>Vestibulum eu ligula turpis, quis vestibulum metus. Vestibulum lobortis mauris et mi tristique tincidunt. Vivamus scelerisque commodo velit ut convallis. Fusce tincidunt purus sit amet eros vestibulum hendrerit. Aenean id tortor risus. Quisque feugiat rhoncus arcu eu congue. In hac habitasse platea dictumst. Duis in purus lectus. Nulla gravida malesuada nulla in vestibulum. Vivamus non nisi vitae augue tristique accumsan. Vivamus viverra lectus et nisi consequat et eleifend erat tincidunt. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Maecenas vel nunc leo. Aliquam quis lacus a lectus dignissim tempor. Curabitur dapibus varius accumsan. Vivamus consectetur varius tortor vel volutpat. Vestibulum diam tortor, porttitor nec auctor porta, hendrerit sit amet mi. Phasellus eget nunc feugiat nisl tristique fermentum?</p>

<hr />
<h2>Comentários para essa notícia</h2>
<?php

require 'conexao.php';

//Aqui vou iniciar a busca dos comentários dentro do banco de dados!
$buscaComentarios = mysql_query("SELECT * FROM comentarios WHERE identificacao = '1' AND moderacao = 'sim' ORDER BY id ASC");
while ($lista = mysql_fetch_array($buscaComentarios)){

$nome	= $lista['nome'];
$site	= $lista['site'];
$comentario = $lista['comentario'];

echo "
<div class='seguraComentario'>
<p><strong>Nome:</strong> $nome</p>
<p><strong>Site:</strong> <a href='$site'>$site</a></p>
<p><strong>Comentário:</strong> $comentario</p>
<div class='clear'></div>
</div>
<hr />
";

}

?>

<hr />

<h2>Deixe seu comentário</h2>
<form action="cadastraComentario.php" method="post">
<fieldset><legend>Preencha os campos abaixo:</legend>
<label for="Nome">Nome:</label>
<input type="text" name="nome" />
<div class="clear"></div>
<label for="Email">E-mail:</label>
<input type="text" name="email" />
<div class="clear"></div>
<label for="Site">Site (opcional):</label>
<input type="text" name="site" />
<div class="clear"></div>
<label for="Comentario">Deixe seu comentário:</label>
<textarea cols="60" name="comentario" rows="10"></textarea>
<div class="clear"></div>
<input type="submit" value="Comente!" /> <input type="hidden" name="identificacao" value="1" /> <input type="hidden" name="moderar" value="nao" /></fieldset>
</form><a href="index.php">Voltar</a>

</div>

noticia02.php

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<link href="style.css" rel="stylesheet" media="screen" type="text/css" />
<div id="seguraConteudo">
<h1>Aprendendo a criar um sistema de comentários em PHP</h1>

<p>Integer sapien magna, aliquet imperdiet ultricies quis, egestas ultricies nunc. Ut pharetra magna ut purus ullamcorper porttitor. Donec in metus est, a rhoncus odio. In mollis eleifend eleifend. Sed suscipit ullamcorper commodo. Nulla quis ante vel lorem ornare consectetur. Cras pretium, est id consectetur tincidunt, ante sapien molestie nulla, vel eleifend erat neque at lorem! Curabitur quam purus; accumsan nec adipiscing et, mattis vel tellus. Duis sollicitudin placerat justo, vel ultricies libero dapibus vel. In hac habitasse platea dictumst. Ut interdum justo at mauris congue eu feugiat lorem malesuada. Quisque tellus erat, eleifend id accumsan nec, convallis id ipsum.</p>

<p>Aliquam nunc enim, bibendum sed consectetur ut; rutrum eget mauris. Cras nunc turpis, bibendum id lacinia in, ultrices ut mi. Ut dapibus tortor at augue egestas laoreet. Donec vitae nisl ipsum. Nulla massa eros, rutrum a mollis sit amet, pretium quis erat. Ut condimentum mi ac nunc eleifend viverra. Fusce elit metus, feugiat eget gravida eget, vestibulum eu elit. Nullam tincidunt luctus neque, at luctus dui pellentesque varius. Donec eleifend orci ac justo viverra aliquet. Sed pulvinar placerat varius. In at sem in tellus tristique ullamcorper. Proin hendrerit arcu sit amet sem fermentum non facilisis eros tincidunt.</p>

<p>Vestibulum eu ligula turpis, quis vestibulum metus. Vestibulum lobortis mauris et mi tristique tincidunt. Vivamus scelerisque commodo velit ut convallis. Fusce tincidunt purus sit amet eros vestibulum hendrerit. Aenean id tortor risus. Quisque feugiat rhoncus arcu eu congue. In hac habitasse platea dictumst. Duis in purus lectus. Nulla gravida malesuada nulla in vestibulum. Vivamus non nisi vitae augue tristique accumsan. Vivamus viverra lectus et nisi consequat et eleifend erat tincidunt. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Maecenas vel nunc leo. Aliquam quis lacus a lectus dignissim tempor. Curabitur dapibus varius accumsan. Vivamus consectetur varius tortor vel volutpat. Vestibulum diam tortor, porttitor nec auctor porta, hendrerit sit amet mi. Phasellus eget nunc feugiat nisl tristique fermentum?</p>

<hr />
<h2>Comentários para essa notícia</h2>
<?php

require 'conexao.php';

//Aqui vou iniciar a busca dos comentários dentro do banco de dados!
$buscaComentarios = mysql_query("SELECT * FROM comentarios WHERE identificacao = '1' AND moderacao = 'sim' ORDER BY id ASC");
while ($lista = mysql_fetch_array($buscaComentarios)){

$nome	= $lista['nome'];
$site	= $lista['site'];
$comentario = $lista['comentario'];

echo "
<div class='seguraComentario'>
<p><strong>Nome:</strong> $nome</p>
<p><strong>Site:</strong> <a href='$site'>$site</a></p>
<p><strong>Comentário:</strong> $comentario</p>
<div class='clear'></div>
</div>
<hr />
";

}

?>

<hr />

<h2>Deixe seu comentário</h2>
<form action="cadastraComentario.php" method="post">
<fieldset><legend>Preencha os campos abaixo:</legend>
<label for="Nome">Nome:</label>
<input type="text" name="nome" />
<div class="clear"></div>
<label for="Email">E-mail:</label>
<input type="text" name="email" />
<div class="clear"></div>
<label for="Site">Site (opcional):</label>
<input type="text" name="site" />
<div class="clear"></div>
<label for="Comentario">Deixe seu comentário:</label>
<textarea cols="60" name="comentario" rows="10"></textarea>
<div class="clear"></div>
<input type="submit" value="Comente!" /> <input type="hidden" name="identificacao" value="1" /> <input type="hidden" name="moderar" value="nao" /></fieldset>
</form><a href="index.php">Voltar</a>

</div>

noticia03.php

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<link href="style.css" rel="stylesheet" media="screen" type="text/css" />
<div id="seguraConteudo">
<h1>Aprendendo a criar um sistema de comentários em PHP</h1>

<p>Integer sapien magna, aliquet imperdiet ultricies quis, egestas ultricies nunc. Ut pharetra magna ut purus ullamcorper porttitor. Donec in metus est, a rhoncus odio. In mollis eleifend eleifend. Sed suscipit ullamcorper commodo. Nulla quis ante vel lorem ornare consectetur. Cras pretium, est id consectetur tincidunt, ante sapien molestie nulla, vel eleifend erat neque at lorem! Curabitur quam purus; accumsan nec adipiscing et, mattis vel tellus. Duis sollicitudin placerat justo, vel ultricies libero dapibus vel. In hac habitasse platea dictumst. Ut interdum justo at mauris congue eu feugiat lorem malesuada. Quisque tellus erat, eleifend id accumsan nec, convallis id ipsum.</p>

<p>Aliquam nunc enim, bibendum sed consectetur ut; rutrum eget mauris. Cras nunc turpis, bibendum id lacinia in, ultrices ut mi. Ut dapibus tortor at augue egestas laoreet. Donec vitae nisl ipsum. Nulla massa eros, rutrum a mollis sit amet, pretium quis erat. Ut condimentum mi ac nunc eleifend viverra. Fusce elit metus, feugiat eget gravida eget, vestibulum eu elit. Nullam tincidunt luctus neque, at luctus dui pellentesque varius. Donec eleifend orci ac justo viverra aliquet. Sed pulvinar placerat varius. In at sem in tellus tristique ullamcorper. Proin hendrerit arcu sit amet sem fermentum non facilisis eros tincidunt.</p>

<p>Vestibulum eu ligula turpis, quis vestibulum metus. Vestibulum lobortis mauris et mi tristique tincidunt. Vivamus scelerisque commodo velit ut convallis. Fusce tincidunt purus sit amet eros vestibulum hendrerit. Aenean id tortor risus. Quisque feugiat rhoncus arcu eu congue. In hac habitasse platea dictumst. Duis in purus lectus. Nulla gravida malesuada nulla in vestibulum. Vivamus non nisi vitae augue tristique accumsan. Vivamus viverra lectus et nisi consequat et eleifend erat tincidunt. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Maecenas vel nunc leo. Aliquam quis lacus a lectus dignissim tempor. Curabitur dapibus varius accumsan. Vivamus consectetur varius tortor vel volutpat. Vestibulum diam tortor, porttitor nec auctor porta, hendrerit sit amet mi. Phasellus eget nunc feugiat nisl tristique fermentum?</p>

<hr />
<h2>Comentários para essa notícia</h2>
<?php

require 'conexao.php';

//Aqui vou iniciar a busca dos comentários dentro do banco de dados!
$buscaComentarios = mysql_query("SELECT * FROM comentarios WHERE identificacao = '1' AND moderacao = 'sim' ORDER BY id ASC");
while ($lista = mysql_fetch_array($buscaComentarios)){

$nome	= $lista['nome'];
$site	= $lista['site'];
$comentario = $lista['comentario'];

echo "
<div class='seguraComentario'>
<p><strong>Nome:</strong> $nome</p>
<p><strong>Site:</strong> <a href='$site'>$site</a></p>
<p><strong>Comentário:</strong> $comentario</p>
<div class='clear'></div>
</div>
<hr />
";

}

?>

<hr />

<h2>Deixe seu comentário</h2>
<form action="cadastraComentario.php" method="post">
<fieldset><legend>Preencha os campos abaixo:</legend>
<label for="Nome">Nome:</label>
<input type="text" name="nome" />
<div class="clear"></div>
<label for="Email">E-mail:</label>
<input type="text" name="email" />
<div class="clear"></div>
<label for="Site">Site (opcional):</label>
<input type="text" name="site" />
<div class="clear"></div>
<label for="Comentario">Deixe seu comentário:</label>
<textarea cols="60" name="comentario" rows="10"></textarea>
<div class="clear"></div>
<input type="submit" value="Comente!" /> <input type="hidden" name="identificacao" value="1" /> <input type="hidden" name="moderar" value="nao" /></fieldset>
</form><a href="index.php">Voltar</a>

</div>

conexao.php

<?php

$servidor= "localhost";
$usuario = "seuUsuario";
$senha   = "suaSenha";
$banco = "comentarios";
$conexao = mysql_connect($servidor, $usuario, $senha, $banco);
$conecta = mysql_select_db($banco);

if (!$conecta) {
	echo "Não foi possível se conectar ao banco!";
} //else {
	//echo "Conectado com sucesso ao banco <strong>$banco!</strong>";
//}
?>

cadastraComentario.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Sistema de comentários</title>
<link href="style.css" rel="stylesheet" type="text/css" media="screen" />
</head>

<body>

<div id="seguraConteudo">

<?php

error_reporting(0);

require 'conexao.php';

$nome          = $_POST['nome'];
$email 		   = $_POST['email'];
$site 		   = $_POST['site'];
$comentario    = $_POST['comentario'];
$identificacao = $_POST['identificacao'];
$moderacao	   = $_POST['moderar'];

if (($nome == "") || ($email == "") || ($comentario == "")){
echo "<p>Caro usuário, nenhum campo pode ficar em branco! Preencha corretamente!</p>";
echo "<p><a href='index.php'>Voltar</a></p>";
return false;
}
if(substr_count($email, "@") == 0 || substr_count($email, ".") == 0) {
echo "<p>Caro usuário, nenhum campo pode ficar em branco! Preencha corretamente!</p>";
echo "<p><a href='index.php'>Voltar</a></p>";
return false;
}

$headers = "Content-type:text/html; charset=UTF-8";
$headers = "From: $email";
$para 	 = "seuEmail@seuDominio.com.br";
$mensagem .= "De: $nome";
$mensagem .= "E-mail: $email";
$mensagem .= "Site: $site";
$mensagem .= "Comentário: $comentario";

$envia = mail($para, "Comentário efetuado no site", $mensagem, $headers);					

$insere = ("INSERT INTO comentarios (id, nome, email, site, comentario, identificacao, moderacao) VALUES ('NULL', '$nome', '$email', '$site', '$comentario', '$identificacao', '$moderacao')");

$insereBanco = mysql_query($insere);

echo "<p><strong>$nome</strong>, seu comentário foi enviado com sucesso, porém, aguarda liberação pelo administrador do site! Obrigado!";
echo "<p><a href='index.php'>Voltar</a></p>";

?>					
</div>

</body>

</html>

moderaComentario

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Sistema de comentários</title>
<link href="style.css" rel="stylesheet" type="text/css" media="screen" />
</head>

<body>

<div id="seguraConteudo">

<h1>Moderar comentários</h1>			

<hr />

<p>Selecione abaixo o comentário que deseja aprovar!</p>

<?php

require 'conexao.php';

//Aqui vou iniciar a busca dos comentários dentro do banco de dados!
$buscaComentarios = mysql_query("SELECT * FROM comentarios WHERE moderacao = 'nao'");
while ($lista = mysql_fetch_array($buscaComentarios)){

$idComentario = $lista['id'];
$nome	      = $lista['nome'];
$site	      = $lista['site'];
$comentario   = $lista['comentario'];

echo "
<p><strong>Nome:</strong> $nome</p>
<p><strong>Site:</strong> <a href='$site'>$site</a></p>
<p><strong>Comentário:</strong> $comentario</p>
<p>Deseja aprovar esse comentário?<br />
<span><a href='liberaComentario.php?id=$idComentario'>Sim!</a></span> || <span><a href='deletaComentario.php?id=$idComentario'>Não</a></span></p>
<hr />
";

}

?>

<p><a href="index.php">Voltar</a></p>

</div>

</body>

</html>

liberaComentario.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Sistema de comentários</title>
<link href="style.css" rel="stylesheet" type="text/css" media="screen" />
</head>

<body>

<div id="seguraConteudo">

<h1>Moderar comentários</h1>			

<hr />

<p>Selecione abaixo o comentário que deseja aprovar!</p>

<?php

require 'conexao.php';

$recuperaId = $_GET['id'];

$aprova = mysql_query("UPDATE comentarios SET moderacao = 'sim' WHERE id = '$recuperaId'") or die (mysql_error());

?>

<p><a href="moderaComentario.php">Voltar</a></p>

</div>

</body>

</html>

deletaComentario.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Sistema de comentários</title>
<link href="style.css" rel="stylesheet" type="text/css" media="screen" />
</head>

<body>

<div id="seguraConteudo">

<h1>Moderar comentários</h1>			

<hr />

<p>Selecione abaixo o comentário que deseja aprovar!</p>

<?php

require 'conexao.php';

$recuperaId = $_GET['id'];

$deleta = mysql_query("DELETE FROM comentarios WHERE id = '$recuperaId'") or die (mysql_error());

?>

<p><a href="moderaComentario.php">Voltar</a></p>

</div>

</body>

</html>

Banco de Dados

-- phpMyAdmin SQL Dump
-- version 3.3.9.2
-- http://www.phpmyadmin.net
--
-- Servidor: localhost
-- Tempo de Geração: Jul 22, 2013 as 11:34 AM
-- Versão do Servidor: 5.5.10
-- Versão do PHP: 5.3.6

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- Banco de Dados: `comentarios`
--

-- --------------------------------------------------------

--
-- Estrutura da tabela `comentarios`
--

CREATE TABLE IF NOT EXISTS `comentarios` (
  `id` int(111) NOT NULL AUTO_INCREMENT,
  `nome` varchar(150) COLLATE utf8_unicode_ci NOT NULL,
  `email` varchar(150) COLLATE utf8_unicode_ci NOT NULL,
  `site` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `comentario` longtext COLLATE utf8_unicode_ci NOT NULL,
  `identificacao` int(111) NOT NULL,
  `moderacao` varchar(3) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'nao',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=14 ;

--
-- Extraindo dados da tabela `comentarios`
--

Voltar à página anterior!

  • Merson Jesus Dias

    “Fatal error: Uncaught Error: Call to undefined function mysql_connect() in C:xampphtdocsuploadconexao.php:8 Stack trace: #0 {main} thrown in C:xampphtdocsuploadconexao.php on line 8” fica aparecendo esse erro pode me ajudar??

    • Fala Merson!

      Cara, ele não tá conseguindo se conectar ao banco de dados. Seu Xampp tá ligado cara?

      Abraços!

    • Diego Borges

      Pelo tempo você já cansou de resolver isso, irmão rsrs
      Mas pra quem veio aqui e não sabe a resposta: isso acontece porque a extensão mysql_* ficou depreciada na versão 5.5.0 do PHP e foi completamente removida na 7.0.0. No lugar dela, deve-se utilizar o mysqli_* ou PDO, que é o mais recomendável por trabalhar com inúmeros drives de conexão, então se um dia o mysqli_* também for removido, bastaria atualizar uma string com o novo método de conexão sem necessidade de reconstruir todo o código.

      É isso, fica a dica.

  • David Almeida

    Mt obg deu tudo certo aqui e sanou mts duvidas que eu tinha

  • Fala Eric!

    Se não tá conectando ao banco, não está tudo certo né? E o que deu erro aí?

    Abraços!

  • Ricardo Politi

    André na época do vídeo você andou mudando algo, no presente momento os códigos acima estão revisados conforme as vídeos aulas e mudanças, isto é só para eu economizar tempo e trabalhar com ctrl c

    • Olá Ricardo.

      Desculpe, mas não consegui entender o que você quis dizer.

      Abraços!

  • Ismael

    Vlw

  • Jose Magno

    amigo teria como me ajudar coloquei esse seu esquema em MYSQLI e não esta funcionando nem se quer envia os dados para o SGBD. ele aparece a mensagem de confirmação mas não envia os dados para o SGBD me ajuda ai por favor ?

    • Fala Jose.

      Então meu amigo: eu poderia lhe ajudar desde que você tivesse seguido o que eu coloquei lá como exemplo. A lógica é a mesma, e o funcionamento é o mesmo. Peço a gentileza de buscar no Google uma solução adequada se deseja mudar os códigos para o MYSQLi …

      Abraços e até mais.

      • Jose Magno

        beleza amigo eu conseguir posso colocar aqui depois postado para a galera em MYSQLI

        • Opa! Será um prazer Jose!

          Posto e coloco os créditos para ti meu velho.

          Abraços e até mais!

  • Fala Julio.

    Como já te respondi por e-mail, desconsidero esse comentário! rs

    Abraços!

  • vaniomartins

    andre boa noite surgiu um poblema nao esta aparecendo os comentarios la no banco e esta conectado normal no banco de dados
    eu uso o db online e estou usando o nome do banco como cadastro_login vc sabe me dizer o que pode ser?

    eu mando o comentario vai certinho mais nao chega no db

    • Fala Vanio. Vamos por partes meu amigo: se você seguiu tudo o que eu postei, então algo que você colocou lá está errado. Eu não conheço o tal do DB Online, e com as informações que você me passa, seria o mesmo que dizer para você: “Venha pra minha casa” e eu não te dou nem meu endereço.

      Como você fará para saber onde eu moro e qual o caminho mais fácil para que você possa chegar ao destino?

      E compadre, se você manda o comentário certinho e ele não chega, quer dizer que não tá certinho né? rs

      Abraços!

  • Fala Silvio.

    Então meu velho … o sistema de comentários é a base para o que você precisa.

    Basta apenas pegar a lógica apresentada e adaptá-la ao que deseja.

    Com esse sistema de comentários, você poderia criar inclusive, um site totalmente gerenciável … basta um pouco de aplicação e trabalho.

    Abraços!

  • michael andrews

    Boa noite
    André, gostaria de lhe parabenizar por essa excelente postagem, com certeza ajudou bastante pessoas que assim como eu, não conseguiam resolver problemas com algoritmos.
    Aproveito essa oportunidade para perguntar se poderei usar este banco de dados para vários sites ou apenas para um.
    Fico no aguardo e boa sorte.
    At
    Michael

    • Fala Michael!

      Cara, poderá usar em quantos sites quiser, se o mesmo atender as suas necessidades!

      Abraços e obrigado pelas palavras!

      Até mais!

  • julcemar

    Olá estou constuido um site e queria colocar uma cixa de recados nele para manter contato com as pessoas

    • Fala Julcemar!

      Procure no meu site sobre “Sistema de Comentários com PHP”.

      Pode ser que lhe ajude de alguma maneira!

      Abraços!

  • Olá André Buzzo ! Faz uma video aula ensinado a separar os comentarios dos post para que eles nao se repitam .

  • ja consseguir mano dispensa meu comentario ;P

  • Valeu pelo tutorial, mais estou com uma duvida como eu faco para meus comentarios aparecer no post desde já agradeço, espero a resposta no meu email ou no seu proprio site.

  • Rafael

    Olá André,
    Não tenho muito conhecimento em php, então seu script me ajudou demais.
    Porém, quando faço um comentário, ele é publicado em todas as noticias. Teria como ser publicado apenas no post de noticia que o usuario estiver lendo ? Como faria isso?

    Obrigado por compartilhar seus conhecimentos.

    • Fala Rafael!

      Dá para se fazer isso; porém, você precisaria cadastrar em um banco de dados a notícia e fazer um relacionamento entre ID da notícia e comentário. Parece que começa a complicar, mas não é tão cabeludo assim não …

      Abraços!

  • Sharley

    Olá André, ainda sou leigo na área. Estou desenvolvendo um site e gostaria de saber se tem como fazer uma página de comentários em html sem uso de banco de dados.

    • Olá Sharley.

      Seria possível se a pessoa mandar em seu e-mail o conteúdo, você copiar ele e inserir no seu html. Aí você conseguiria trabalhar sem a necessidade de um bancod e dados …

      Abraços!

  • Lucas

    André, show o link que você enviou!
    Agora estou compreendendo muito melhor o que é e como funciona o “tal do Ajax”.
    Muito obrigado! Abração.

    • Opa Lucas!

      Deu para ter uma ideia então? Ponto para o David CHC !!! rs

      Abraços cara! Precisando de algo, estamos por aqui!

      Até mais!

  • Hailton Gothic

    Poxa legal, só gostaria de poder ver o resultado e outra. Quais os dados que devem ter no banco de dados? Seria também legal disponibilizar o arquivo para download e conforme o amigo falou aí é bom a galera estudar mesmo para compreender como se faz e não fazer um simples copia e cola. Um abraço e parabéns.

    • Fala Hailton!

      Cara .. não entendi sua dúvida! Você não assistiu as vídeo aulas? Tá tudo explicado lá e com exemplos …

      Abraços!

  • Lucas

    Olá André. Tudo em ordem!
    Obrigado por sua resposta. Não tenho nenhuma experiência com ajax, mas irei pesquisar. Obrigado pela atenção.

  • Lucas

    Olá André. Muito bacana o script, parabéns.
    Surgiu uma dúvida. Como faria para a listagem de comentários atualizar automaticamente quando alguém publicar um novo comentário, a fim de exibir para os demais usuários sem que eles precisem recarregar a página?

    • Olá Lucas, tudo em ordem?

      Cara …para fazer isso você precisaria trabalhar com Ajax … para que houvesse o refresh automático da página … o único porém é que se o usuário quiser escrever qualquer coisa (qualquer coisa mesmo!) ele teria total liberdade …

      Aí cabe a você determinar qual o risco disso …

      Abraços!

  • André,

    Encontrei a seguinte forma de resolver o problema:
    echo ‘alert(“Seu comentário foi enviado, porém, aguarda liberação do administrador do site! Obrigado!”);history.back(1);’;
    Ou seja, quando vai para a página cadastra_comentario, a mensagem do javascript aparece e ao clicar no botão ok, o usuário é levado à página anterior. Testei e funcionou. Mas desse jeito está correto, ou há algum problema?

    • Fala Malcoln

      Errado não está de maneira alguma! Único porém de se trabalhar dessa maneira, salvo engano meu, é que os dados estarão ainda no formulário …já que o tal do “history.back” faz as vezes do botão “voltar” do navegador….

      Abraços!

  • No meu caso, quando clico em enviar comentário, a página vai para a cadastra_comentario.php e fica nela. Como é em php fica uma página em branco. Aí tive que colocar
    echo ‘alert(“Seu comentário foi enviado, porém, aguarda liberação do administrador do site! Obrigado!”);location.href=”./index.php”‘;
    Ou seja, como não sei em qual página o usuário fez o comentário, tive que redirecioná-lo para uma página “geral”.

    • Fala Malcoln!

      Para esse tipo de problema, eu vejo duas soluções:

      1ª) Você poderia pegar dinamicamente a URL do site, colocar em um campo do tipo “hidden” no formulário, receber MAIS esse campo no seu arquivo “cadastra_comentario.php” e fazer o redirecionamento, indicando a URL onde seu usuário comentou no href do seu script em JavaScript;

      2ª) Se o conteúdo viesse do banco de dados, você poderia fazer exatamente a mesma coisa, mas ao invés de pegar “toda a URL”, você poderia pegar apenas o parâmetro que usaria para puxar do bando de dados e informar também no href do seu script em JavaScript…

      Espero que eu tenho lhe dado um direcionamento para resolver seu problema.

      Abraços cara!

  • Implementei o sistema no meu site e estou bem satisfeito. Assim que puder pretendo fazê-lo funcionar com uma maior integração ao banco de dados. Mas estou com uma dúvida: após o usuário inserir o comentário, eu gostaria que ele ficasse na mesma página onde ele fez o comentário e não que fosse redirecionado para a página index, por exemplo. Qual a melhor forma de implementar?

  • Comecei a colocar alguns artigos em meu site (em páginas html, sem os artigos estarem cadastrados em um banco de dados). Porém, surgiu uma dúvida: ao invés de fazer desse modo não seria melhor colocar os artigos em um banco de dados, para que a cada novo artigo cadastrado, o site já o exibisse em ordem, do mais atual para o mais antigo? Enfim, a dúvida é como é essa lógica (não me refiro a códigos). Porque quando há apenas dois artigos por exemplo, é fácil criar as páginas em html, mas quando o site possuir vários artigos, no meu ponto de vista, seria melhor com banco. É assim que funciona?

    • Olá Malcoln!

      Basicamente seria isso sim … se tiver pouco conteúdo compensa fazer “na unha” … se houver bastante, usa banco de dados.

      Agora, se for coisa bem grande, usa um CMS do tipo do WordPress que é melhor ainda!

      Abraços!

  • vinicius

    Tem como disponibilizar os scripts. menuSite.php e conteudoSite.php?

    • Fala Vinicius!

      Acabei de inserir no script meu amigo! Me desculpe, eu não havia me atentado que esse conteúdo não havia sido publicado.

      Abraços!

  • cadu

    parabéns!

  • Malcoln

    Repito abaixo a dúvida do colega Iraecio e complemento:
    Seria possivel usar esse script de comentário em uma galeria de fotos, usando light box. Onde em cada foto que abre tenha os comentários abaixo e um botão de comenta para abrir outra light box com o form!
    Meu site de fotografias está bem adiantado e estou usando o lightbox. Mas gostaria que ficasse como o flickr, onde a imagem não se sobrepõe à tela, mas sim fica em uma página com os comentários dos visitantes.
    Grato.

    • Fala Malcoln!

      Velho, dá para fazer algo do tipo sim. Porém, precisa trabalhar com banco de dados. Precisaria relacionar a legenda com a foto dentro de um banco, e chamar todas via script para que sejam relacionadas as fotos junto ao banco.

      Abraços compadre!

  • Elizeu SIlva

    ganhou mais um fã Buzzo ! nossa tava mesmo querendo modificar um desses, vai ajudar muito nas minhas pesquisas. Obrigadão!!!

    • Fala Elizeu!

      Que isso meu caro! Eu que agradeço o interesse!

      Abraços!

  • Duco

    Vc utilizou alguma orientação a objeto nesse scritp?

    • Fala Duco!

      Não compadre! Não usei OO nesse script em lugar algum …

      Abraços!

  • André gostei muito desse sistema de comentário, parabéns continue postando!

    • Fala Fabiano!

      Cara…eu que agradeço o interesse!

      Abraços!

  • iZerang

    Mais entao nao teria como me conseguir um script de comentario tipo esse aqui ?
    Vlw

    • Fala iZerang!

      De que tipo você fala? O do meu site?

      Abraços!

  • Pingback: Balanço 2011 | André Buzzo()

  • Jeyson

    custou mais te achei bozo. aula maneira

  • Leo Amaru

    Cara, muito obrigado, eu não copiei o seu código mas ele me ajudou e muito e fazer o meu e deu certo. Consegui. Valew mesmo, tava quase desistindo, mas agora vou embalar de novo!

    Abçs…!!!

    • Fala Léo!

      Gostei da tela de “site em construção”! Acho que o projeto final vai ficar show de bola se seguir o estilo da página!

      Abraços!

  • vagner

    Bom dia amigo, estou precisando de uma orientaçao em php, sou iniciante e estou concorrendo uma vaga e preciso entregar um projeto e eh simples minha duvida eh em como crio uma sistema de comentario arvore, threads, assim”comentario debaixo de comentario e resposta de comentario de sua respectiva, assim segue uma arvore com resposta da resposta”, não se se vc me entendeu, mais eh algo assim. tem allgun tutorial que vc conhece que pode me ajudar. por favor. obrigado.

    • Fala Vagner!

      Cara…eu nunca precisei fazer algo do tipo. Sei que existem plugins que fazem o trabalho, mas “manualmente”, eu nunca fiz não …

      Abraços e boa sorte no projeto!

  • JOAO VICTOR

    Fala amigo,

    Deu tudo certinho aqui, só que quando eu vou autorizar o comentario não á nenhuma ação,
    Exemplo: quando clico em “SIM” n possuo nenhuma resposta, seria como não tive-se nenhuma ação.

    • Fala João!

      Cara..não me lembro se cadastrei alguma resposta para um “sim” …

      Mas o comentário é ou não liberado na página?

  • Robson

    Não conhecia o seu blog, dando uma pesquisada pelo Google sobre desenvolvimento web encontrei o blog e estou gostando bastante, você esta de parabéns.
    Obrigado.

    • Eu que agradeço Robson!

      Forte abraço seja sempre bem-vindo.

      Até mais!

  • Cristiano Xavier

    Ae gostei do blog. ja ta nos favoritos aki

    • Valeu Cristiano! Seja bem-vindo meu velho!

      Abraços!

  • Se cadastre, ou se não use o login e senha que eu uso pra testes
    login: a senha: a

  • Ah, eu esqueci de falar o site ‘-‘ http://ninoprojetos.eu.pn
    To usando esse dominio, é gratis, e to gostando por enquanto, se acha que tem algum outro melhor, poderia menciona-lo ?

    • Opa! Vi que pede um usuário e senha!

      Abraços!

  • Vou testar.
    Cara você tem como da uma olhada no site que estou fazendo?
    Tipo eu sou meio amador ainda, mais coloquei algumas coisas que eu achei interessante lá.
    Dá uma olhada e uma avaliada, e logo logo, estarei colocando seu sistema de comentários lá.
    Ele não tem criptografa senhas de cadastro ainda, mais agora mesmo vou colocar.

  • Gustavo Lima

    deu aki mais o comentario nao aparece na pagina de moderar.. aff
    como poem pra moderar automaticamente? ‘-‘

    • Fala Gustavo.

      Se for para “moderar automaticamente”, então não precisa de moderação! Basta remover a condição que pede o “SIM” no script…

      Abraços!

  • Gustavo Lima

    Como faz a parte do banco de dados? tem que exportar pro phpmyadmin ou criar um arquivo sql no ftp? fui exportar pro PMA e deu erro, oque faço?

  • Rodrigo

    Muito Bom os tutoriais

    • Obrigado Rodrigo!

      Seja sempre muito bem-vindo!

      Abraços!

  • Pingback: Desenvolvimento de Sites - André Buzzo - SISTEMA DE COMENTÁRIOS COM PHP – PARTE 5 - Inserindo Gravatar nos comentários()

  • é que eu não sei fazer…

    • Fala Henrique!

      Então o que você acha de aprendermos meu velho?

  • Olá, gostaria de fazer uma pagina para apagar os comentarios ja postados…
    como sou novo em php, tem como me mostra como faz? :)

    • Fala Henrique!

      Cara…existe a página “deletaComentario.php” … vc não a viu?

      Abraços!

  • Max Rezende

    Fala rapaz, muito boa essa aula, só queria saber como se faz para colocar foto tb (mais ou menos como nesses comentários aqui do seu site), se puder, dá essa força, abração e parabéns pelo site!!!!

    • Fala Max!

      Cara… guenta aí que eu tô providenciando o material!

      Abraços!

  • clecio

    aqui deu certo era problema na conexao com o banco mas ja era, valeu pela atençao

  • clecio

    postei o codigo (banco nao salva dados) em php ok, grato!

  • clecio

    aparece a msg de q foi enviada como sucesso mas nao salva no banco
    pode me da uma dica ja revisei mulhares de vezes e nada

    • Cara….abre um tópico no Fórum () e posta seu código lá!

      Abraços!

  • Sem querer pedir demais … rs
    Mas você poderia me passar o código e arquivo que devo criar?
    Desculpe o incômodo, desde já agradeço!

    • Fala Ivanildo.

      Cara…eu não passo códigos. Para seu próprio desenvolvimento. Sei que vai me xingar agora, mas no futuro, tenho certeza de que irá me agradecer.

      Abraços!

  • Olá André!

    Testei o script, funcionou certinho. Parabéns!
    Agora testando os recursos, após a liberação, há alguma forma para deletar ou colocar em off?

    • Fala Ivanildo!

      Obrigado pelo comentário meu caro! Quanto a sua dúvida, daria sim meu amigo!

      É só criar um select que transforme o liberado em “não” novamente… é fazer o inverso da aprovação! A lógica, segue a mesma.

      Abraços compadre!

  • nem hein, onde vejo issu, pois estava aqui estudando, e a IDENTIFICAÇÃO, pra teria que puxar pelo ID da materia, para que os comentarios sejam somente exibidos pelo ID, ou seria de outra forma, se possivel, mande ai o link da sequencia de Va’s, pra mim ver aqui se consigo.

  • Ribero Júnior

    Fala velho, to vendo seu sistema de comentário aqui, muito massa, legal mesmo, mas gostaria de saber se ele funcionaria num site de noticias, com diversar noticias, onde cada noticias teria um comentário diferente, o comentaria de uma noticia do tipo Policial não iria aparecer hein uma notícia de entretenimento, e assim por diante, se que me entende…Espero contato

    • Fala Ribero!

      Cara…você não assistiu a sequência de VA´s né?

      Abraços …

  • Lucas

    Fala André, blz ? Cara tu podia criar um curso de PHP e MySQL para a galera, com um preço razoável. rsrs Suas dicas são ótimas. Valeu…

    • Fala Lucas!!

      Opa! Pode deixar que eu vou pensar no seu caso…rsrsrs

      Abraços!

  • jairo

    Grande André Buzzo, valeu pelas video-aulas de “Sistema de Comentários”. Gostei muito, mas surgiu uma pequena dúvida:
    Para aprovar ou não um comentário, você recebe ele em seu e-mail e depois avalia se pode ou não postar no site, certo? Pois bem, por que a postagem em seu site é instantânea? Você não faz avaliação dos comentários?
    Não é uma crítica, grande André, apenas curiosidade de quem tá começando no “ramo”.
    Valeu e obrigado novamente!!!

    • Fala Jairo. Então meu velho, o comentário não é aprovado na bucha não… precisa de moderação!

      Ele aparece para você para que tenha a noção de como será se o mesmo for aprovado. Mas faça o seguinte teste: abra dois navegadores, e deixe o seu comentário em apenas um deles. Após enviá-lo, de um F5 no navegador no qual VOCÊ NÃO POSTOU O COMENTÁRIO e veja se ele vai aparecer lá!

      Abraços meu velho!

      Até mais!

  • jairo

    Esse tutorial é o bicho! Funciona que é uma beleza. Gostei das videos aulas, seu jeitão de ensinar além de instrutivo, é realmente uma comédia (com todo respeito, é claro).
    Como faço para postar comentários com fotos, iguais as do seu site?

    Obrigado pela ajuda! Você é “o cara” rsrsrsrsrsrsr…..

    • Fala Jairo!!

      Obrigado meu velho…tô pensando em fazer um “upgrade” dessa vídeo aula, e ensinar a turma a puxar o Gravatar para os comentários…

      Vamos ver se rola…

      Abraços!

  • Leandro R

    TESTANDO

  • IRAECIO

    Olah amigo
    Gostei muito do conteudo vc mando muito bem de vdd

    me tira uma duvida!
    Seria possivel usar esse script de comentario em uma galeria de fotos, usando light box
    onde em cada foto que abre tenha os comentarios abaixo e um botao de comenta para abrir outra light box com o form!

    obrigado

    • Fala Iraecio!

      Creio que que seja sim!

      Abraços!

  • Erick

    Andre PARABÉNS
    faz tempo que eu estou tentando montar um sistema como este.
    já fiz algumas alterações e estou integrando com o meu sistema de banco de dados
    Não querendo Abusar
    Como eu posso inverter as postagens ( as mais recentes primeiro )

    Agradeço desde já

    Att Erick Kosuzinski

    • Fala Erick!!

      Cara, fico feliz por saber disso!

      Para fazer com que os comentários sigam uma lógica de data de postagem, você precisa incluir na sua query do SQL uma instrução para isso, usando, ou o campo “DATA” ou o campo “ID” do seu banco. Não sei o que está usando aí, portanto…..

      Ficaria algo assim:

      $retornaComentario = mysql_query("SELECT * FROM comentarios WHERE id = '$suaVariavel' ORDER BY id DESC");

      Qualquer coisa, mude o DESC para ASC e você verá que ele se inverte!!

      Abraços compadre!

      Obrigado pela visita!

  • eduardo

    cara, já virei seu fã…

    hehehehe

    abraço

    • Fala Eduardo!!

      kkkkkkkkkkkkkkk …que isso meu velho! Obrigado!

      Abraços!

  • Matheus

    Ah, ja ia esquecendo de dizer que no banco de dados alterei o moderação como sim e identificação 1 para a noticia 1 (value = 1).

  • Matheus

    Olá, os meus comentários estão salvando no banco, porem não estão buscando e mostrando no site… Você saberia dizer porque? Comparei todo o código, e está tudo igual…

    Muito bom seu site, parabéns!

    • Cara…muito obrigado pelo comentário!

      Porém, seu arquivo de conexão está correto meu velho?

      Abraços!

  • Luiz

    Vou testar e ver se funciona!

  • Gabriel

    Quando acesso direto pelo Site do WampServer a aplicação, consigo enviar um comentário, da a mensagem que foi enviado com sucesso o comentário mas não salva nada no Banco de Dados.

    • Cara…veja seu arquivo de conexão se está tudo correto!!

      Abraços!

  • Gabriel

    Sim, esta ligado.

    Estou usando o WampServer que ja vem com PHP, MySQL e Apache.
    Ja loguei até no PHPMyAdmin com Usuario e Senha, mas da esta página de erro que te falei.

  • Gabriel Carvalho Ferraz

    Gostei do exemplo mas nao consigo fazer funcionar no meu PC.

    Estou com o PHPMyAdmin instalado certinho, com usuario, senha, banco de dados…. Mas quando preencho comentário clico em COMENTE!

    Da uma página com o seguinte erro: Internal Server Error

    Valew

    • Fala Gabriel!

      O servidor tá ligado meu amigo? Estranho dar esse pepino….

      Abraços!

  • William

    Bom Post

  • EllyssonMiike

    André, você é foda nisso cara!!!! Você ensina brincando, fica muito mais fácil de aprendeer! É isso ai, seja sempre assim! Mas só uma perguntinha.. Como coloca pra quando não ter nenhuma notícia aparecer:
    Ainda não existe comentários

    Já tentei de tudo.. Quase consegui…mas não deu… posta ai como faz pf… =)

    • Elysson, muito obrigado pelo comentário e pelo elogio!

      Vou criar mais uma parte da Vídeo Aula e explicarei como a gente pode montar essa característica do sistema ok?

      Guenta um pouco mais!

      Abraços meu amigo!

  • Joao carlos

    filé mano!

  • Joao carlos

    vc vai postar o sql tbm?

  • Joao carlos

    to aguardando ai brother!!! abraços

  • Natan Rocha

    Massa os scripts! o bom é que o wordpress facilita muito! nem prescisa fazer um sistema gerenciavel de noticias ele ja nos da pronto! mais é muito bom pra poder aprendermos a programar! vlw andre abraços…

    • Fala Natan!

      Exatamente meu velho…. é para se ter uma ideia de como programar algumas coisas!

      Abraços!

  • Joao carlos

    mano coloca uma pasta zipadinha ai com os arquivos e melhor, por favor!!!

  • edson

    vlw cara funcionou certinho….

    viu cara tem como vc fazer uma video aula ensinado como fazer aquelas linhas na horizontal e na vertical igual tem nos conteudos do site baixaki?
    agradeço…

    • Fala Edson!

      Vou ver se consigo botar na “fila” essa VA meu velho!!

      Obrigado pelo comentário e abraços!!

      Até mais!

  • Nathan Vieira

    Muito bom André, só espero que as pessoas usem esse script apenas para corrigir os erros que nao estao encontrando, e não para simplesmente ter um código pronto e usar assim, sem nem saber “proque” serve!

    Abraços, ah, e se possível, entra em contato comigo por e-mail, quero te fazer uma pergunta …

    • Fala Nathan!!

      Concordo contigo!

      Já te add no msn ok?

      Abraços!