[자동댓글] 특정 게시판 상세보기에 들어가면 댓글이 자동으로 등록되는 기능

Tip & Tech

활용팁

홈 > 회원포럼 > 활용팁
활용팁

[자동댓글] 특정 게시판 상세보기에 들어가면 댓글이 자동으로 등록되는 기능

2 박아무개 7 426 6 0

특정 게시판의 게시물목록에서 게시물을 선택하여 상세화면으로 들어가면

사용자 이름으로 댓글이 자동으로 등록되도록 합니다.

이 자동 등록되는 댓글은 최초 한번만 등록되고 이후부터는 등록되지 않습니다.

자동댓글 여부를 구분하기 위해 확장필드 wr_10을 이용합니다.


실력이 없어서 기본 소스를 여기저기서 가져다가 작성하다보니 허접할 수 있으니

혹시 더 좋은 소스코드가 있으시거나 보완할 사항이 있으시면 수정.추가 부분을 기술하여

알려주시면 감사하겠습니다.


적용방법은

bbs/view.php 파일을 편집기로 열어 상단 부분에 아래의 코드를 넣습니다. 



/// 자동댓글을 여러개 미리 지정합니다. 

$cmtArr[0] = "자동댓글 문자 1";
$cmtArr[1] = "자동댓글 문자 2";
$cmtArr[2] = "자동댓글 문자 3";
 

// 여러개 댓글문장 중에서 적용할 댓글을 랜덤으로 하나를 지정합니다.

$pjj = rand(0,2);

 

 if($bo_table == "free") {

if($w == ''){if($view['mb_id'] <> $member['mb_id'])  {   // 로그인한 사람과 글쓴이가 다를때만 동작한다.
                $wr_write = get_write($write_table, $wr_id);  //원글정보
                $wr_write_content = $cmtArr[$pjj];  //댓글 내용
                $wr_write_cname = $member['mb_name'];  //등록자명
                $wr_write_mb_id = $config['cf_admin'];  //등록아이디
                $wr_write_password = sql_password(G5_SERVER_TIME);//패스워드
                $sql = " select wr_id, max(wr_comment) from $write_table 
                            where wr_parent = '$wr_id' 
                                and wr_is_comment = '1'
                            /*    and wr_comment = '1'  */
                                and mb_id = '$wr_write_mb_id'
                                and wr_name = '$wr_write_cname' 
                                and wr_10 = 'auto' ";
                $row = sql_fetch($sql);
                //echo $sql . "<br>";
                if(!$row['wr_id']) {
                        $sql = " select max(wr_comment) maxnum from $write_table  where wr_parent = '$wr_id'  ";
                        $row = sql_fetch($sql);
                        $maxnum = (int)$row['maxnum'] + 1;

                        $sql = " insert into $write_table
                                        set ca_name = '$wr_write[ca_name]',
                                        wr_num = '$wr_write[wr_num]',
                                        wr_parent = '$wr_id',
                                        wr_is_comment = '1',
                                        wr_10 = 'auto',
                                        wr_comment = '$maxnum',
                                        wr_content = '$wr_write_content',
                                        mb_id = '$wr_write_mb_id',
                                        wr_password = '$wr_write_password',
                                        wr_name = '$wr_write_cname',
                                        wr_datetime = '".G5_TIME_YMDHIS."',
                                        wr_ip = '" . $_SERVER['REMOTE_ADDR'] . " ' ";
                        sql_query($sql);

                        // 원글에 코멘트수 증가
                        sql_query(" update $write_table set wr_comment = wr_comment + 1, wr_last = '".G5_TIME_YMDHIS."' where wr_id = '$wr_id' ");
                        sql_query(" update {$g5['board_new_table']} set as_comment = as_comment + 1 where bo_table = '{$bo_table}' and wr_id = '{$wr_id}' ", false);

                        // 코멘트 1 증가
                        sql_query(" update {$g5['board_table']} set bo_count_comment = bo_count_comment + 1 where bo_table = '$bo_table' ");
                }
        }
}


7 Comments
안녕하세요?
제가 예전에 활용팁 게시판에 자동 랜덤댓글을 올렸는데요 ^^
http://amina.co.kr/bbs/board.php?bo_table=tip&wr_id=4859
당시에 제가 생각했던 방법은 write_update.tail.skin.php을 수정하는 것이었는데
그것보다는 박아무개 님의 아이디어가 훨씬 실용적이고 여러모로 응용하기에 좋은 것 같네요 :)
예컨대 커뮤니티 사이트를 구축하고 초창기에 접속유저가 적을 때
유저를 생성하여 Requests나 Selenium으로 적절히 시간 간격을 두고 로그인 해서 글을 읽어주면 될 것 같네요!
덕분에 많이 배우고 가네요~
감사합니다 ^-^ 그럼 굿밤 되세요!
13 비오엠 05.16 02:10  
굿입니다.^^
감사합니다.
2 박아무개 05.16 09:09  
깜빡했는데, 위 소스 중간 부분을 아래 처럼 수정하는게 좋을 것 같습니다.

$maxnum = $row['maxnum'];
---> $maxnum = (int)$row['maxnum'] + 1;
20 사노라면 05.16 13:05  
이런소스 막 퍼가도 되는건가요 ㅎㅎ
추천한번 꾹 누르고 가져갑니다

Congratulation! You win the 47 Lucky Point!

1 뿡쁑 05.21 16:55  
좋은 소스 감사드립니다.
질문:
view.php 13줄에 @include_once($board_skin_path.'/view.head.skin.php'); 이 있는데 스킨의 view.head.skin.php에 넣으면 작동안되나요?
2 박아무개 05.22 13:46  
그 쪽에 넣어도 될 듯 합니다....
직접 해보시고 알려주시면 감솨하겠네요~
6 나눔샵 05.23 04:03  
감사합니나

Congratulation! You win the 26 Lucky Point!

제목
최근 글
최근 댓글
Facebook Twitter GooglePlus KakaoStory KakaoTalk NaverBand