안녕하세요 포인트 질문좀드리고자합니다.

안녕하세요 포인트 질문좀드리고자합니다.

QA

안녕하세요 포인트 질문좀드리고자합니다.

본문

도움을받으면서 홈페이지 제작이 거의마무리되었는데 포인트제도에대해서 질문좀드리고자합니다.

영상게시판에 글을읽을때만 포인트를 -10 하고싶고 .  하루 또는 24시간이지나고 다시 글읽기를하려면 또 포인트를 차감하려고합니다.

 

포인트는 하루 100포인트식주는걸로하려고하는데요.

 

유효기간을 1일주고 해보아도 포인트감소는 1회로 중복차감이안되네요 혹시 방법을 좀알수있을까요

 

이 질문에 댓글 쓰기 :

답변 2

ddyy 님 제가 포인트 관심을 거이 가지않아 별생각이 없어는데요 .

그래서말하는건데요현재 포인트가 24시로 인해서 차감 또는 증가 하는가요? 아니면 한번 읽고 쓰기 하면 포인트가 끝인가요?

제가 알기로는 한번 읽고 끝이고, 쓰기는 쓸때마다 적용되는걸로 생각이 드는데요...

이게 맞는가요?

네 그래서 잠깐 제가 살펴 봐 습니다. 결론은 이렇게 하면 될 것 같습니다.
 서버 측에서는 사용자가 글을 읽을 때마다 새로운 변수에 현재 시간을 기록 할 수 있게 하고,
클라이언트에서 보낸 요청을 처리하여 일정 시간이 경과하면 다시 포인트를 적용하는 로직 을 구현해야 한다고 생각이 듭니다.

제가 큰 도움은 못 드리겠지만 생각을 해보면 다음 과 같은 처리가 필요로 합니다.

첫번째
board_form.php 파일 포인트 관련 섹션 에가서 타임을 설정할 부분을 추가해 줘야합니다.
여분필드는 wr_1 으로 설정을 해준다고 가정해봅니다.

두번째
set_point 함수를 수정하여,
변수에 기록한 시간과 비교하여 일정 시간이 경과하면 포인트를 적립하도록 변경해야 합니다.
즉 스크립트에서 시간을 체크하고, 일정 시간이 경과하면 서버에 요청을 보내어 포인트 설정값따라적용받기 해주셔야 합니다.

세번째
서버 측입니다..board_form_update.php 이것열어 추가적인 수정을 해줘야합니다.
예를들어 임시로wr_1 여분 필드에 타임값을 저장한다고 했다면.. 신중하게 필드는 선택을 하셔야하고.. 이것에 맞게 서버 측 에 구현을 해 주셔야 합니다.

참고로 ..사용자 측에서는 이미  관리자 보드 게시판 에 서  포인트 관련 된 부분이 적용 된 상태입니다. 즉 한마디로  사용자 페이지는 수정할 필요가 없다는 것 겠죠?... 단 다른 생각을 하면...달라질수도 있습니다. 관리자 설정값이아닌  해당 게시판에서 직접 구현을 하도록 할 수도 있습니다.
이런경우에는 현소스를 건들어야할부분이 더욱더 복잡성 을 가춰야 하기 때문에 추천하고싶지않습니다.
항상 찬찬히 생각과 느림의 미학으로 응원합니다..하 다 보면 다됩니다. 화이팅~!

/lib/common.lib.php 파일에서 


function insert_point($mb_id, $point, $content='', $rel_table='', $rel_id='', $rel_action='', $expire=0) {
........
    // 이미 등록된 내역이라면 건너뜀
    if ($rel_table || $rel_id || $rel_action)
    {
        $sql = " select count(*) as cnt from {$g5['point_table']}
                  where mb_id = '$mb_id'
                    and po_rel_table = '$rel_table'
                    and po_rel_id = '$rel_id'
                    and po_rel_action = '$rel_action' ";
        $row = sql_fetch($sql);
        if ($row['cnt'])
            return -1;
    }
}


위의 부분이 중복 읽기 방지를 위한 코드 입니다.
이 부분을 원하는 형태로 가공해야 할 것입니다.

다른 방법은 

/bbs/board.php 에서 아래 부분을 잘 수정하면 될 것입니다.

'.$wr_id.' 글읽기', $bo_table, 이 부분을 잘 수정 하면 될 것입니다

insert_point($member['mb_id'], $board['bo_read_point'], ((G5_IS_MOBILE && $board['bo_mobile_subject']) ? $board['bo_mobile_subject'] : $board['bo_subject']).' '.$wr_id.' 글읽기', $bo_table, $wr_id, '읽기');
답변을 작성하시기 전에 로그인 해주세요.
전체 95 | RSS
QA 내용 검색

회원로그인

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