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

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

QA

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

본문

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

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

 

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

 

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

 

이 질문에 댓글 쓰기 :

답변 2

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

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

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

이게 맞는가요?

포인트지불하여 글을읽은후. 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, '읽기');
답변을 작성하시기 전에 로그인 해주세요.
전체 59,850
QA 내용 검색

회원로그인

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