채택완료

동일한 코멘트 작성은 불가능 을 전체로?

2021-04-27 (화) 22:17:46 2,134

혹시 동일한 코멘트작성을 모든 게시판에 못하게 막을 수있는방법이 있을까요?

bbs/write_comment_update.php

파일 찾아보니까

if($member['mb_id']) {
$sql = "select wr_id from $write_table where mb_id='{$member['mb_id']} and wr_content='$wr_content'";
$row = sql_fetch($sql);
if($row['wr_id']) alert("동일한 코멘트 작성은 불가능합니다.");

이런소스가있는데

해당 내용은 같은 페이지의 에서만 작동되는거같은데 모든 게시판에서도 작동되게할라면

어떻게 추가? 변경해야될까요?

|

답변 3개 / 댓글 3개

채택된 답변
+20 포인트
2021-04-27 (화) 23:02:35

가장 간단한 방법은

loop( 모든 게시판 as $write_bbs ) {

if($member['mb_id']) {
$sql = "select wr_id from $write_bbs where mb_id='{$member['mb_id']} and wr_content='$wr_content'";
$row = sql_fetch($sql);
if($row['wr_id']) alert("동일한 코멘트 작성은 불가능합니다.");

}

답변에 대한 댓글 3개

loop( 모든 게시판 as $write_bbs ) {
모든 게시판이라는게 게시판이름을 다 적어놔야하는건가요?
적용하는 게시판만 적으셔도 됩니다.
배열로 만드세요.
loop( "free_board" || "gallery" as $write_bbs ) {
이렇게 해보니 반응은 없고 (동일댓글 작성됨)
loop( free_board as $write_bbs ) {
이렇게 해봐도 별다른 반응없이 게시판내 동일한 댓글 작성이 되네요.
2021-04-28 (수) 18:28:14

1) 게시판 구분 없이 댓글 내용만 저장하는 테이블 추가 생성 ex. comment (칼럼 bo_table, wr_id, wr_content)

2) 댓글 등록시 해당 테이블에도 내용만 중복 저장

3) 중복여부 체크시 해당 테이블로 체크

select count(*) from comment where wr_content = '{$wr_content}'

2021-04-28 (수) 16:20:14

foreach( array( "free_board","gallery") as $write_bbs_tmp ) {

....

}

이런 식으로 하시고 $write_bbs 변수명은 다른 곳에서 쓰이니 다른 변수명을 쓰셔야 합니다.

답변을 작성하려면 로그인이 필요합니다.