All TalkersCode Topics

Follow TalkersCode On Social Media

devloprr.com - A Social Media Network for developers Join Now ➔

Create A Simple Instant Comment System Using Ajax

Last Updated : Jul 1, 2023

IN - Ajax PHP MySQL | Written & Updated By - Dikshita

In this tutorial we will create a simple and best instant comment system using Ajax,PHP and MySQL, comment is a strong way to express views about any specific thing so this system should be fast because everybody hates the slow way to post comment about any topic.

You may also like instant search using ajax and PHP.

Create A Simple Instant Comment System Using Ajax

To Create An Instant Comment System It Takes Only Four steps:-

  1. Create a database Table to store the Comments
  2. Make a PHP file and define markup and script for Instant Comment System
  3. Make a PHP file to store and display comments
  4. Make a CSS file and define styling for Instant Comment System

Step 1. Create a database Table to store the Comments

We have to create a database table named comments having four columns id,name,comment,post_time.

CREATE TABLE `comments` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `name` text NOT NULL,
 `comment` text NOT NULL,
 `post_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
 PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=19 DEFAULT CHARSET=latin1

Step 2. Make a PHP file and define markup and script for Instant Comment System

We make a PHP file and save it with a name comments.php

<html>
<head>
<link rel="stylesheet" type="text/css" href="comment_style.css">
<script type="text/javascript" src="jquery.js">
<script type="text/javascript">
function post()
{
  var comment = document.getElementById("comment").value;
  var name = document.getElementById("username").value;
  if(comment && name)
  {
    $.ajax
    ({
      type: 'post',
      url: 'post_comment.php',
      data: 
      {
         user_comm:comment,
	     user_name:name
      },
      success: function (response) 
      {
	    document.getElementById("all_comments").innerHTML=response+document.getElementById("all_comments").innerHTML;
	    document.getElementById("comment").value="";
        document.getElementById("username").value="";
  
      }
    });
  }
  
  return false;
}
</script>

</head>

<body>

  <h1>Instant Comment System Using Ajax,PHP and MySQL</h1>

  <form method='post' action="" onsubmit="return post();">
  <textarea id="comment" placeholder="Write Your Comment Here....."></textarea>
  <br>
  <input type="text" id="username" placeholder="Your Name">
  <br>
  <input type="submit" value="Post Comment">
  </form>

  <div id="all_comments">
  <?php
    $host="localhost";
    $username="root";
    $password="";
    $databasename="sample";

    $connect=mysql_connect($host,$username,$password);
    $db=mysql_select_db($databasename);
  
    $comm = mysql_query("select name,comment,post_time from comments order by post_time desc");
    while($row=mysql_fetch_array($comm))
    {
	  $name=$row['name'];
	  $comment=$row['comment'];
      $time=$row['post_time'];
    ?>
	
	<div class="comment_div"> 
	  <p class="name">Posted By:<?php echo $name;?></p>
      <p class="comment"><?php echo $comment;?></p>	
	  <p class="time"><?php echo $time;?></p>
	</div>
  
    <?php
    }
    ?>
  </div>

</body>
</html>

In this step we create a form to post comment with the help of Ajax.

When the user clicks on Post Comment button an Ajax request is fired which sends all the input data to post_comment.php and then display the comment from post_comment.php.

You may also like get facebook like, share and comment count using PHP.

Step 3. Make a PHP file and store and send the user comment

We make a PHP file named post_comments.php to store and send back the user comment to comments.php page and then comments.php will display all comment.

<?php
$host="localhost";
$username="root";
$password="";
$databasename="sample";

$connect=mysql_connect($host,$username,$password);
$db=mysql_select_db($databasename);

if(isset($_POST['user_comm']) && isset($_POST['user_name']))
{
  $comment=$_POST['user_comm'];
  $name=$_POST['user_name'];
  $insert=mysql_query("insert into comments values('','$name','$comment',CURRENT_TIMESTAMP)");
  
  $id=mysql_insert_id($insert);

  $select=mysql_query("select name,comment,post_time from comments where name='$name' and comment='$comment' and id='$id'");
  
  if($row=mysql_fetch_array($select))
  {
	  $name=$row['name'];
	  $comment=$row['comment'];
      $time=$row['post_time'];
  ?>
      <div class="comment_div"> 
	    <p class="name">Posted By:<?php echo $name;?></p>
        <p class="comment"><?php echo $comment;?></p>	
	    <p class="time"><?php echo $time;?></p>
	  </div>
  <?php
  }
exit;
}

?>

In this step we first store the values send by the ajax request from comments.php page and the we select the latest comment that user entered and echo all the comments.

One thing is more important everything we echo in our post_comment.php page will recieve by the ajax request as an output to display.

You can do validation to make your code more secure or you can view our How to do validation before and after submitting the form tutorial.

Step 4. Make a CSS file and define styling for Instant Comment System

We make a CSS file and save it with name comment_style.css.

body
{
	text-align:center;
	font-family:helvetica;
	background-color:#A9D0F5;
}
h1
{
	color:blue;
	text-align:center;
	margin-top:100px;
}
textarea
{
	width:500px;
	height:100px;
	border:1px solid silver;
	border-radius:5px;
	font-size:17px;
	padding:10px;
	font-family:helvetica;
}
input[type="text"]
{
	width:500px;
	height:35px;
	border:1px solid silver;
	margin-top:10px;
	border-radius:5px;
	font-size:17px;
	padding:10px;
	font-family:helvetica;
}
input[type="submit"]
{
	width:150px;
	height:40px;
	border:none;
	background-color:#2E64FE;
	color:white;
	margin-top:10px;
	border-radius:5px;
	font-size:17px;
}
.comment_div
{
	width:500px;
	background-color:white;
	margin-top:10px;
	text-align:left;
}
.comment_div .name
{
	height:30px;
	line-height:30px;
	padding:10px;
	background-color:grey;
	color:white;
	text-align:left;
}
.comment_div .comment
{
	padding:10px;
}
.comment_div .time
{
	font-style:italic;
	padding:10px;
	background-color:grey;
	color:white;
	text-align:left;
}

You can view and add captcha system in form using PHP to make your form more secure.

Thats all, this is how to Create a Instant Comment System Using Ajax,PHP and MySQL.

You can customize this code further as per your requirement. And please feel free to give comments on this tutorial.

I hope this tutorial on php comment system using ajax and mysql helps you and the steps and method mentioned above are easy to follow and implement.