Sistema de Comentários PHP - MySQL

Esse artigo ensina de maneira fácil como desenvolver um Sistema de Comentário utilizando PHP e MySQL. Dessa vez vamos aprender a criar um sistema de comentários em PHP. Vou usar o seguinte critério, coloco o código e logo em seguida o explico.

Por Programação 3 comentários
Sistema de Comentários PHP - MySQL

Dessa vez vamos aprender a criar um sistema de comentários em PHP. Vou usar o seguinte critério, coloco o código e logo em seguida o explico.

Então mãos a obra:

Primeiro passo é criar o nosso Banco de Dados

CREATE DATABASE bdcomentarios

Cria o banco bdcomentarios.

Após criado o banco, vamos criar a tabela.
A tabela conterá as coluna 'id', 'nome', 'email', 'data' e 'comentário'.

CREATE TABLE `tbcomentarios` ( 
'id' INT( 5 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
'nome' VARCHAR( 30 ) NOT NULL ,
'email' VARCHAR( 30 ) NOT NULL ,
'data' DATE NOT NULL ,
'comentario' VARCHAR( 255 ) NOT NULL 
) ;
  • CREATE TABLE 'tbcomentarios'
  • Cria a tabela tbcomentarios
  • 'id' INT( 5 ) NOT NULL AUTO_INCREMENT PRIMARY KEY
  • Cria uma coluna chamada 'id' do tipo inteiro de tamanho 5
  • PRIMARY KEY
  • Determina que o atributo 'id' será chave primária
  • AUTO_INCREMENT
  • Significa que a cada novo registro inserido, o valor do atributo 'id' será acrescido de 1 unidade automaticamente.
  • 'nome' VARCHAR(30) NOT NULL,
  • 'email' VARCHAR(30) NOT NULL,
  • 'comentario' VARCHAR(255) NOT NULL
  • Criar os atributos nome, email e comentario, do tipo varchar e com tamanhos de 30,30,255 respectivamente.
  • 'data' DATE NOT NULL
  • Cria na tabela o atributo data do tipo DATE. Obs: não necessita definir o tamanho. No MySQL o formato padrão da data é ano/mês/dia, por ex: 2010/06/17.



Criado o nosso banco de dados 'bdcomentarios', e a tabela 'tbcomentarios' vamos para o PHP.
Crie um novo arquivo php com o nome formulário.php

A primeira coisa após criado o arquivo é colocar as tags HTML



Sistemas de Comentários


Comentários Enviados pelos Usuários

Não vou detalhar pois o nosso foco é o php e não o HTML.
Depois disso vamos, conectar ao banco de dados através do php:

  • "localhost"
  • Endereço do servidor onde executa os scripts php, nesse caso coloquei localhost, por está rodando em meu computador;
  • 'root'
  • Nome de usuário do banco de dados
  • ' '
  • Destinado a senha, nesse caso não tem senha, portanto o deixei vazio.
  • mysql_select_db("bdcomentarios")
  • Responsável por selecionar o banco de dados a ser usado, no nosso caso o banco criado foi bdcomentarios.


Até agora o nosso código está assim:



 Comentários


Comentários Enviados pelos Usuários

Agora vamos criar o formulário a ser usado, para isso acrescente o seguinte código:

Nome:

E-Mail:

Mensagem:



Como já disse antes, o objetivo é o PHP e não o HTML, portanto só vou explicar o seguinte trecho de código:
action="#" - significa que ao clicar no botão "enviar" os dados serão enviados para o próprio arquivo formulario.php e processados.

Agora vamos para o código php responsável pela inserção dos dados no banco e exibição dos mesmos:

Esse código faz com que as variáveis $nome, $email, $data e $comentario recebam os valores que foram digitados nos campo do formulário.
$nome= $_POST['nome'];
A variavel $nome recebe o valor digitado no campo do formulário que possue o name = 'nome'
$data = date("Y/m/d");
A variável $data é diferente por se tratar de manipulacao de data, portanto, "date(Y/m/d)" siginifica que a variável $data vão receber a data do envio do formulário no formato ano,mês,dia(Y/m/d).

Agora vamos inserir os dados no banco de dados:

$insert = mysql_query("INSERT INTO tbcomentarios(nome,email,data,comentario) 
values('$nome','$email','$data','$comentario')");

As colunas nome,email,data e comentario da tabela tbcomentários vão receber o valor contido nas variáveis '$nome','$email','$data' e '$comentario' respectivamente.

Agora vamos fazer a consulta no banco de dados e exibi-las:

$sql = "SELECT * FROM tbcomentarios ORDER BY id desc";

O código acima seleciona todos os comentários postados e os exibe em ordem decrescente de acordo com o id. O comando "order by id" significar ordenar por 'id' e o comando "DESC" ordenar em ordem decrescente. Isso faz com que os comentários sejam exibidos do último postado até o primeiro.

$executar = mysql_query($sql);

O comando mysql_query() é responsável por enviar uma consulta MySQL;
E para listar todos os comentários vamos fazer um while para exibir todos os dados:

while( $exibir = mysql_fetch_array($executar)){
echo $exibir['data'];
echo "
"; echo $exibir['nome']; echo "
"; echo $exibir['email']; echo "
"; echo $exibir['comentario']; echo "

"; } ?>

$exibir = mysql_fetch_array($executar)
Esse comando retorna uma matriz que corresponde a linha obtida na consulta. A variável $exibir é responsável por receber os dados dessa matriz.
Por fim, os comando echo $exibir['data']; echo $exibir['nome'] ... vão exibir os dados retornados da consulta.

Abaixo listo o código final:

Criação do banco e da tabela:

CREATE DATABASE bdcomentarios

CREATE TABLE `tbcomentarios` ( 
'id' INT( 5 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
'nome' VARCHAR( 30 ) NOT NULL ,
'email' VARCHAR( 30 ) NOT NULL ,
'data' DATE NOT NULL ,
'comentario' VARCHAR( 255 ) NOT NULL 
) ;

Arquivo formulario.php



Comentários


Comentários Enviados pelos Usuários

Nome:

E-Mail:

Mensagem:



"; echo $exibir['nome']; echo "
"; echo $exibir['email']; echo "
"; echo $exibir['comentario']; echo "

"; } ?>

Abaixo, segue uma imagem do Sistema em execução:
https://www.oficinadanet.com.br//imagens/coluna/2386/td_imagem.jpg



Vocês podem perceber que a data está sendo exibida no formato ano/mes/dia, no próximo artigo vou mostrar como exibir a data no padrão brasileiro(dia/mês/ano).

Espero que tenham gostado e colaborem deixando dicas, sugestões ou dúvidas. Até a próxima.

Compartilhe com seus amigos:
Samyr Abdo Nunes Raim
Samyr Abdo Nunes Raim Tenho 22 anos, sou programador PHP formado em Sistemas de Informação na UNIMONTES(Universidade Estadual de Montes Claros). Trabalhando atualmente em BH tenho grande experiência em desenvolvimento web. Sigam me no Twitter: http://twitter.com/samyrabdo
FACEBOOK // TWITTER: @samyrabdo
Quer conversar com o(a) Samyr, comente:
Carregar comentários
Últimas notícias de Programação
  • Google usa Mulher-Maravilha para ajudar meninas a programar

    Google usa Mulher-Maravilha para ajudar meninas a programar

    Meninas ganham um incentivo extra na hora de aprender a programar, a Mulher-Maravilha.

  • Criando um cadastro de usuário em Java

    Criando um cadastro de usuário em Java

    O objetivo deste artigo é desenvolver uma aplicação em JSE (Java Standard Edition) de inserção de dados utilizando alguns padrões de projeto.

  • Quer aprender PHP? Saiba mais

    Quer aprender PHP? Saiba mais

    Chegou o tão aguardado curso online de PHP do Oficina da Net. Você não pode perder. PHP é uma das linguagens mais usadas no mundo. Os conteúdos que vou mostrar no curso, são exatamente o que você precisa saber para iniciar sua carreira como programador.

  • Formulário de contato em php

    Formulário de contato em php

    Guia do PHP: Aprenda a fazer um formulário em PHP que envia via SMTP autenticado o e-mail para um destinatário.

  • Como fazer um GIF?

    Como fazer um GIF?

    Aprenda a criar um GIF animado de vídeos. Descubra como criar os GIFs, imagens animadas que você vê em na internet.

  • O que priorizar na hora de escolher o hosting para seu site?

    O que priorizar na hora de escolher o hosting para seu site?

    Com o crescimento das ofertas na web, saiba o que você deve levar em consideração na hora de escolher a melhor empresa de hosting para seu empreendimento

  • O que preciso fazer para criar um aplicativo?

    O que preciso fazer para criar um aplicativo?

    Temos visto que desenvolver aplicativos que visam o mercado mobile pode ser mais que uma alternativa rentável, pode colocá-lo no topo, deixá-lo rico. Mas nem tudo são flores, e o aspirante a desenvolvedor de app precisa seguir algumas regras.

  • WEBINAR 3.9

    WEBINAR 3.9

    Venha para o Maker e descubra como tornar o seu negócio mais competitivo.