포인트 차감 오류?

포인트 차감 오류?

QA

포인트 차감 오류?

본문

안녕하세요 이번에 chui님이 공유해주신 게임 스킨을 해보고 있는데요

https://sir.kr/g5_skin/24304?sfl=wr_subject%7C%7Cwr_content&stx=%EA%B2%8C%EC%9E%84


게임 진행시 포인트 차감 설정 내용대로 ( 다운 받은 파일중 save.php 파일에 있는 설정)

포인트 차감이 잘 됩니다.

문제는 만약 게임을 진행했던 회원이 포인트를 획득하면 ( 게시글 작성등 )

게임후 차감된 상태의 포인트가 아닌 게임전 포인트 기준으로 증가합니다.

1794286461_1561446896.8115.jpg


<?php include("../common.php"); 
//설정하세요/////////////////////// 
$board = 'score';  //사용할 계시판 테이블명을 적으세요. 
$minus = -200; //게임 한번 할 때마다 점수 차감 
$plus = 0; //최고 점수를 기록할 경우 보상. 보상이 없을 경우는 0으로 기록 
$minscore = 0; //최고 점수를 기록할 경우 보상. 최저 보상 점수. 처음    부터 주면 안되기에 
//////////////////////////////////////// 
//게임 한 후에 가져올 정보 - 수정하지 마세요!!!! 
$gameName = strip_tags($_GET['game']); 
$score = strip_tags($_GET['score']); 
if($member['mb_nick'] == "") $nick = "비회원"; 
else $nick = $member['mb_nick']; 
$getMemebr = $score."점"; 
$query = "select max(wr_id) as maxWr from g5_write_$board"; 
$result = sql_query($query); 
while($row  = sql_fetch_array($result)) {    
$wr = $row['maxWr']; 
} 
$query = "select max(wr_content) as maxScore from g5_write_$board where wr_link1 = '$gameName'"; 
$result = sql_query($query); 
while($row  = sql_fetch_array($result)) {    
$maxScore = $row['maxScore']; 
} 

if($score > $maxScore && $plus != 0  && $maxScore > $minscore)  $point = $member['mb_point'] + $plus + $minus; 
else $point = $member['mb_point'] + $minus; 
//$po_point = $plus + $minus; 
$addWr = $wr + 1; 
$wr_num = -($addWr + 1); 

$query = "select po_datetime from g5_point where mb_id = '{$member['mb_id']}' order by po_datetime desc limit 1"; 
$result = sql_query($query); 
while($row  = sql_fetch_array($result)) {    
$date = $row['po_datetime']; 
} 
$someTime=strtotime(G5_TIME_YMDHIS) - strtotime($date); 
$checktime = date('s', $someTime); 
if($checktime >= 5) { 
$sql = " insert into g5_write_$board 
                set wr_num = '$wr_num', 
                    wr_reply = '$wr_reply', 
                    wr_comment = 0, 
                    ca_name = '$ca_name', 
                    wr_option = '$html,$secret,$mail', 
                    wr_subject = '$getMemebr', 
                    wr_content = '$score', 
                    wr_link1 = '$gameName', 
                    wr_link2 = '$wr_link2', 
                    wr_link1_hit = 0, 
                    wr_link2_hit = 0, 
                    wr_hit = 0, 
                    wr_good = '$score', 
                    wr_nogood = 0, 
                    mb_id = '{$member['mb_id']}', 
                    wr_password = '$wr_password', 
                    wr_name = '$nick', 
                    wr_email = '$wr_email', 
                    wr_homepage = '$wr_homepage', 
                    wr_datetime = '".G5_TIME_YMDHIS."', 
                    wr_last = '".G5_TIME_YMDHIS."', 
                    wr_ip = '{$_SERVER['REMOTE_ADDR']}', 
                    wr_1 = '$wr_1', 
                    wr_2 = '$wr_2', 
                    wr_3 = '$wr_3', 
                    wr_4 = '$wr_4', 
                    wr_5 = '$wr_5', 
                    wr_6 = '$wr_6', 
                    wr_7 = '$wr_7', 
                    wr_8 = '$wr_8', 
                    wr_9 = '$wr_9', 
                    wr_10 = '$wr_10' "; 
    sql_query($sql); 
    // 부모 아이디에 UPDATE 
    sql_query(" update g5_write_$board set wr_parent = '$addWr' where wr_id = '$addWr' "); 
    // 새글 INSERT 
    sql_query(" insert into {$g5['board_new_table']} ( bo_table, wr_id, wr_parent, bn_datetime, mb_id ) values ( '{$bo_table}', '{$addWr}', '{$addWr}', '".G5_TIME_YMDHIS."', '{$member['mb_id']}' ) "); 
    // 게시글 1 증가 
    sql_query("update {$g5['board_table']} set bo_count_write = bo_count_write + 1 where bo_table = '{$bo_table}'");
//포인트를 감소시킵니다. 
if($plus > 0) $best = '최고 점수를 획득했습니다=> '.$plus;
else $best =''; 
    $sql = " insert into g5_point 
                set mb_id = '{$member['mb_id']}', 
                    po_datetime = '".G5_TIME_YMDHIS."', 
                    po_content = '$checktime', 
                    po_point = '$best', 
                    po_use_point = '$minus', 
                    po_mb_point = ' $point', 
                    po_expired = '0', 
                    po_expire_date = '9999-12-31', 
                    po_rel_table = '$board', 
                    po_rel_id = '$addWr', 
                    po_rel_action = '$rel_action' "; 
    sql_query($sql); 
    $sql = " update g5_member set mb_point = '$point' where mb_id = '{$member['mb_id']}' "; 
    sql_query($sql); 
} 

?>

해당 save.php 파일의 내용입니다. 여기서 변경해야 할 부분이 있을까요?

아님 다른 문제일까요?ㅠㅠ

이 질문에 댓글 쓰기 :

답변 1

게임보상 점수 획득 시 '최고 점수를 획득했습니다 ' 라는 문구로 저장이 되는데..

위에 포인트 적립은 글쓰기 적립이네요.

위 소스상에는 문제 없어 보입니다.

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

회원로그인

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