회원가입후 첫글을 작성하면 보너스 포인트를 주고싶습니다.
회원가입후 아무게시판이나 첫글을 작성하면 2000포인트를 주고싶은데
write_update.php 이쪽에
$sql_bm = " select count(*) as cnt from {$g5['board_new_table']} where mb_id = '{$member['mb_id']}' ";
$row_bm = sql_fetch($sql_bm);
if($row_bm['cnt']==1){
$sql_m="UPDATE g5_member SET mb_point = mb_point + 2000 WHERE mb_id = '{$member['mb_id']}';";
$row_m=sql_fetch($sql_m);
alert("첫글쓰기 이벤트 2000 포인트가 지급되셨습니다.");
}
이렇게 추가하려하는데 맞는지요 . 운영중인사이트에 바로적용해야하는거라 .
아 그리고 첫글 포인트지급후 g5_point 테이블에 로그를 남기고싶은데 어디를 만지면될까요?
고수님들이 틀린곳있는지 알려주셨으면 합니다.
답변 1개 / 댓글 4개
포인트 지급은 쿼리로 하실 필요가 없습니다.
insert_point function 사용하시면 되십니다.
common.lib 에서 사용법 보시면 되실것 같아요.
참고로 첫 로그인시 포인트가 지급 되는 방식은
insert_point($member['mb_id'], $config['cf_login_point'], G5_TIME_YMD.' 첫로그인', '@login', $member['mb_id'], G5_TIME_YMD);
회원가입은
insert_point($mb_id, $config['cf_register_point'], '회원가입 축하', '@member', $mb_id, '회원가입');
글쓰기 포인트는
insert_point($member['mb_id'], $board['bo_write_point'], "{$board['bo_subject']} {$wr_id} 글쓰기", $bo_table, $wr_id, '쓰기');
이런식으로 사용이 됩니다.
이렇게 하시면 자동으로 포인트 테이블에도 기록이 됩니다.
이걸 잘 응용해보시면 되실것 같습니다.
답변에 대한 댓글 4개
하단 if ($file_upload_msg) 위에
if ($w == '') {
insert_point($member['mb_id'], '2000', '첫글 작성', '@new', $member['mb_id'], '첫글 작성');
}
if($row_bm['cnt']==1){
alert("첫글쓰기 이벤트 2000 포인트가 지급되셨습니다.", $redirect_url);
}
위와 같이 넣어보세요.
po_rel_table, po_rel_id, po_rel_action 가 포인트 테이블에 이미 있으면 포인트를 지급 하지 않기 때문에 위에 새글 카운트 관련에는 안넣어도 되고 alert 때문에는 필요할것 같은데 저렇게 띄우면 write_update.php 가 완료되지 않고 뒤로 돌아갈겁니다.
write_update 하단에 글쓰기 완료후 $redirect_url로 보내기 때문에 이걸 이용하시면 되실것 같구요.
아마 테스트는 무조건 해보셔야 할것 같습니다.
전체게시판이 아닌특정게시판을 하고싶으면 free 이런식으로 게시판 명만 바꿔주면 되는건가요?
예를 들어서 게시판 글쓰기시 포인트 지급은 해당 자리에 $bo_table 변수가 들어가있습니다.
게시판 테이블 명인데 이걸 이용해서 중복 포인트 지급을 막고 포인트 내역을 클릭시 해당 글로 이동이 되게 하죠.
답변을 작성하려면 로그인이 필요합니다.