[질답게시판 만들기] 13. comment_ok.php

13. comment_ok.php

댓글 입력을 처리하는 부분입니다.

<?php
include_once "common.php";

// 넘어온 값 정리
$post_idx = $_POST['post_idx'];
$cmt_content = $_POST['cmt_content'];
$admin_password = $_POST['admin_password'];

// 넘어온 게시글 PK가 없으면
if(empty($post_idx))
{
	alert('잘못된 접근입니다.');
	exit;
}

// 댓글 내용이 없다면
if(empty(trim($cmt_content)))
{
	alert('글 내용을 입력하셔야 합니다.');
	exit;
}

// 관리자 비밀번호가 맞지않다면
if( $admin_password != ADMIN_PASSWORD )
{
	alert('관리자 비밀번호가 맞지 않습니다.');
	exit;	
}

// 쿼리 실행
$query = "INSERT INTO `tbl_board_comment` SET ";
$query .= " `post_idx` = '{$post_idx}'";
$query .= ",`cmt_content` = '{$cmt_content}'";
$query .= ",`cmt_regtime` = '".date('Y-m-d H:i:s')."'";
$query .= ",`cmt_ip` = '".ip2long($_SERVER['REMOTE_ADDR'])."'";
$dbcon->query($query);
// 쿼리 실행후 cmt_idx값을 가져온다.
$cmt_idx = $dbcon->insert_id;

// 게시글의 댓글 카운트도 올려준다.
$query = "UPDATE `tbl_board_post` SET `post_count_comment` = `post_count_comment` + 1 WHERE `post_idx` = '{$post_idx}'";
$dbcon->query($query);

alert('댓글이 입력되었습니다.', BASEURL ."/read.php?idx={$post_idx}#comment_{$cmt_idx}");
exit;

어느 게시물에 달리는 댓글인지 확인이 필요하기때문에

게시글 PK값이 꼭 넘어와야합니다.

관리자만 입력받을수 있기때문에

입력한 비밀번호와 관리자 비밀번호를 비교하여 다를경우 에러메시지를 출력합니다.

 

댓글입력 완료후

게시글의 댓글 개수부분의 카운트를 올려줍니다.

이는 매번 게시글 리스트를 불러올때마다 댓글수를 가져오는 방법을 사용하면

추후에 데이타양이 많아졋을경우 부담이 될수 있기때문에

집계데이타만 저장해놓는 형식입니다.

 

[catlist id=76 numberposts=14 conditional_title=”PHP 질문과 답변 게시판 만들기” orderby=date]

3 thoughts on “[질답게시판 만들기] 13. comment_ok.php”

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.