하루 등록가능 댓글수 제한

하루 등록가능 댓글수 제한

QA

하루 등록가능 댓글수 제한

본문

안녕하세요.

현재 보유포인트별로 댓글수 제한을 하고있는대요..

 

write_comment_update_skin.php

 

<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

// 댓글 작성 하루 개수 제한
$comment_limit = 20; // 댓글 작성 개수
if ($member[mb_point] < 5000 && $w != 'cu') {
    if($is_member) {
        $row = sql_fetch(" select count(*) as cnt from $write_table where mb_id = '{$member['mb_id']}' and wr_is_comment = '1' and date_format(wr_datetime, '%Y-%m-%d') = '" . G5_TIME_YMD . "' ");
    } else {
        $row = sql_fetch(" select count(*) as cnt from $write_table where wr_ip = '{$_SERVER['REMOTE_ADDR']}' and wr_is_comment = '1' and date_format(wr_datetime, '%Y-%m-%d') = '" . G5_TIME_YMD . "' ");
    }
    if($row['cnt'] >= $comment_limit) {
        alert('권한이없습니다');
    }
}
?>

 

현재 A게시판 20개 B게시판 20개 등록되고있는대요.

게시판별로 모두 따로 체크하는게 아니고

모든 게시판을 체크해서 댓글수를 제한하라면 어떤식으로 고쳐야될까요?

A,B,C 모든 게시판에서 총 20개만 등록되게 하고 싶습니다.

고수님들 도움 부탁드립니다.

감사합니다!

이 질문에 댓글 쓰기 :

답변 3

그럼 각 회원정보의 여분필드에 저장하면 됩니다.



if($member['mb_1']==date('Y-m-d') && $member['mb_2']>=20) {
  alert("하루 댓글 작성 수를 초과하였습니다.");
} else {
  if($member['mb_1']==date('Y-m-d') {
    $sql = "update g5_member set mb_2=mb_2+1 where mb_id='{$member['mb_id']}'";
  } else {
    $sql = "update g5_member set mb_1='".date('Y-m-d')."', mb_2=1 where mb_id='{$member['mb_id']}'";
  }
  sql_query($sql);  
}

먼저 제가 해보고 질문 다는게 맞지만..
아직 접속중이실까 해서 급하게 질문 드립니다.
지금 작성해주신 부분을 저의 소스 어디에 삽입을 해야될까요?
부탁드립니다 eyekiss님.

저같으면 .. 이런 식으로 ..할거 같아요.

회원여분필드를 활용해서. 매일 최초접속시 카운트 0,

이후 댓글 작성시 +1,

삭제시 -1,

이렇게 20이 되면 댓글 작성 못하게 하는거죠.

 

게시판 스킨마다 write_comment_update.skin.php 파일 생성하구

업데이트 코드 작성해주면 되겠네요.

 

하루동안 전체 게시판의 댓글 수를 카운트하겠다는 것 같네요.

게시판을 댓글이 작성될때.. 카운트를 해서 기본환경설정의 여분필드에 저장하고 

이를 비교해서 댓글 작성을 제한하면 됩니다.

여분필드1 = 댓글작성일

여분필드2 = 댓글수

write_comment_update_skin.php 에 아래 소스를 추가하세요.

 

if($config['cf_1']==date('Y-m-d') && $config['cf_2']>=20) {
  alert("하루 댓글 작성 수를 초과하였습니다.");
} else {
  if($config['cf_1']==date('Y-m-d') {
    $sql = "update g5_config set cf_2=cf_2+1";
  } else {
    $sql = "update g5_config set cf_1='".date('Y-m-d')."', cf_2=1";
  }
  sql_query($sql);  
}

제가 초보라 이해를 잘못한건지 몰라도
저는 if ($member[mb_point] < 5000 부분을 사용하여 포인트가 5000이하인 회원만 20개로 모든 게시판에서 댓글 등록을 제한하고 싶은겁니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 123,497 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT