Example 1: php code for comment system
$(document).ready(function(){
$(document).on('click', '#submit_comment', function(e) {
e.preventDefault();
var comment_text = $('#comment_text').val();
var url = $('#comment_form').attr('action');
if (comment_text === "" ) return;
$.ajax({
url: url,
type: "POST",
data: {
comment_text: comment_text,
comment_posted: 1
},
success: function(data){
var response = JSON.parse(data);
if (data === "error") {
alert('There was an error adding comment. Please try again');
} else {
$('#comments-wrapper').prepend(response.comment)
$('#comments_count').text(response.comments_count);
$('#comment_text').val('');
}
}
});
});
$(document).on('click', '.reply-btn', function(e){
e.preventDefault();
var comment_id = $(this).data('id');
$(this).parent().siblings('form#comment_reply_form_' + comment_id).toggle(500);
$(document).on('click', '.submit-reply', function(e){
e.preventDefault();
var reply_textarea = $(this).siblings('textarea');
var reply_text = $(this).siblings('textarea').val();
var url = $(this).parent().attr('action');
$.ajax({
url: url,
type: "POST",
data: {
comment_id: comment_id,
reply_text: reply_text,
reply_posted: 1
},
success: function(data){
if (data === "error") {
alert('There was an error adding reply. Please try again');
} else {
$('.replies_wrapper_' + comment_id).append(data);
reply_textarea.val('');
}
}
});
});
});
});
Example 2: php code for comment system
if (isset($_POST['comment_posted'])) {
global $db;
$comment_text = $_POST['comment_text'];
$sql = "INSERT INTO comments (post_id, user_id, body, created_at, updated_at) VALUES (1, " . $user_id . ", '$comment_text', now(), null)";
$result = mysqli_query($db, $sql);
$inserted_id = $db->insert_id;
$res = mysqli_query($db, "SELECT * FROM comments WHERE id=$inserted_id");
$inserted_comment = mysqli_fetch_assoc($res);
if ($result) {
$comment = "<div class='comment clearfix'>
<img src='profile.png' alt='' class='profile_pic'>
<div class='comment-details'>
<span class='comment-name'>" . getUsernameById($inserted_comment['user_id']) . "</span>
<span class='comment-date'>" . date('F j, Y ', strtotime($inserted_comment['created_at'])) . "</span>
<p>" . $inserted_comment['body'] . "</p>
<a class='reply-btn' href='#' data-id='" . $inserted_comment['id'] . "'>reply</a>
</div>
<!-- reply form -->
<form action='post_details.php' class='reply_form clearfix' id='comment_reply_form_" . $inserted_comment['id'] . "' data-id='" . $inserted_comment['id'] . "'>
<textarea class='form-control' name='reply_text' id='reply_text' cols='30' rows='2'></textarea>
<button class='btn btn-primary btn-xs pull-right submit-reply'>Submit reply</button>
</form>
</div>";
$comment_info = array(
'comment' => $comment,
'comments_count' => getCommentsCountByPostId(1)
);
echo json_encode($comment_info);
exit();
} else {
echo "error";
exit();
}
}
if (isset($_POST['reply_posted'])) {
global $db;
$reply_text = $_POST['reply_text'];
$comment_id = $_POST['comment_id'];
$sql = "INSERT INTO replies (user_id, comment_id, body, created_at, updated_at) VALUES (" . $user_id . ", $comment_id, '$reply_text', now(), null)";
$result = mysqli_query($db, $sql);
$inserted_id = $db->insert_id;
$res = mysqli_query($db, "SELECT * FROM replies WHERE id=$inserted_id");
$inserted_reply = mysqli_fetch_assoc($res);
if ($result) {
$reply = "<div class='comment reply clearfix'>
<img src='profile.png' alt='' class='profile_pic'>
<div class='comment-details'>
<span class='comment-name'>" . getUsernameById($inserted_reply['user_id']) . "</span>
<span class='comment-date'>" . date('F j, Y ', strtotime($inserted_reply['created_at'])) . "</span>
<p>" . $inserted_reply['body'] . "</p>
<a class='reply-btn' href='#'>reply</a>
</div>
</div>";
echo $reply;
exit();
} else {
echo "error";
exit();
}
}