하나의 아이디로 한달에 5개 까지만 글쓰기 제한을 두고 싶습니다 어떻게 해야하나요? > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

하나의 아이디로 한달에 5개 까지만 글쓰기 제한을 두고 싶습니다 어떻게 해야하나요? 정보

하나의 아이디로 한달에 5개 까지만 글쓰기 제한을 두고 싶습니다 어떻게 해야하나요?

본문

하나의 아이디로 한달에 5개 까지만 글쓰기 제한을 두고 싶습니다 어떻게 해야하나요?
초보라 잘알지를 못합니다.
고수님들의 가르침을 바랍니다
  • 복사

댓글 전체

세션 쿠키보다는 DB에 담는것을 추천해 드립니다. 세션으로 해도 되지만 DB가 더 컨트롤하기 좋고 쿠키는 클라이언트(사용자)측에 저장되기 때문에 삭제 및 조작이 가능합니다.
테이블을 하나 만드셔야 합니다. 컬럼은 id, mb_id, date, count 3개면 될듯하네요,,
이렇게 만드신후 글등록하는 페이지 (/bbs/write_update.php)에서 글등록 되기전에 우선 확인합니다.
  ID    |    MB_ID  |      DATE    |    COUNT
-------------------------------------------
    1    |    tester    |    2010.11  |      3

위 테이블을 write_count_table 이라 하고  다음과 같이 글이 등록되어 데이터가 들어가있다고 예를 들어봅시다.

$checkQry="select id, count from write_count_table where id='{$member[mb_id]}' and date='".date('Ym')."'";
$result=sql_fetch($checkQry);
if($result['count']>=5)
{
    // 글등록 안되게 처리
}
else
{
    // 글등록 되게끔 처리
}

위와 같이 처리해 주시면 될듯 합니다. $result['count']가 5이하이면 글등록을 시켜주고 글이 다 등록된 뒤에는 insert또는 update를 해주셔야 합니다.

일단 위에 결과물이 있으니까 그걸 이용하면 되겠죠..?
if($result['id'])  // 이번달에 이미 한번이상 등록되어 있는 경우
{
    $updateQry="update write_count_table set count=count+1 where id='{$result[id]}'";
    sql_query($updateQry);
}
else  // 이번달에 아직 한번도 등록되지 않은경우
{
    $insertQry="insert into wirte_count_table set id='{$member[mb_id]}', date='".date('Ym')."', count=1";
    sql_query($insertQry);
}

위와 같이 처리하시면 됩니다.
© SIRSOFT
현재 페이지 제일 처음으로