테스트 사이트 - 개발 중인 베타 버전입니다

포인트 기능 복사 채택완료

잉잉잉히히 1년 전 조회 5,927

포인트 기능을 복사해 새로운 package 테이블을 데이터베이스에 만들었습니다.

관리자 메뉴에 패키지 관리 기능도 만들었구요

아래 코드로 불러 왔을때 이미지 처럼 불러와지고 있습니다. 불러와지는 데이터는 하이디 sql 이용해서 넣은거구용

근데 관리자페이지에서 값을 넘기려고 하면 계속 포인트테이블에 데이터가 들어가요 ㅜㅜ

</p>

<p>        while ($row = sql_fetch_array($result)) { ?></p>

<p>            <tr></p>

<p>                <td><?php echo $row['mb_id'] ?> </td></p>

<p>                <td><?php echo $row['mb_name'] ?> </td></p>

<p>                <td><?php  echo $row['pack_content'] ?> </td></p>

<p>                <td><?php  echo $row['pack_point'] ?> </td></p>

<p>                <td><?php  echo $row['pack_datetime'] ?> </td></p>

<p>            </tr></p>

<p>        <?php }?></p>

<p>
 

 

http://sir.kr/data/editor/2405/1981836402_1716800163.5299.png" width="100%" />

 

 

point_update.php파일 복붙하여 package_update파일 만들었는데 아래 코드에 문제가 있어서 그런것 같습니다.. 어디가 문제인지 알아야 해결을 할텐데 아직 초보자라 어디가 문제인지 막막합니다

도움 부탁드립니다ㅜㅜ

</p>

<p><?php</p>

<p>$sub_menu = "200210";</p>

<p>require_once './_common.php';</p>

<p> </p>

<p>auth_check_menu($auth, $sub_menu, 'w');</p>

<p> </p>

<p>check_admin_token();</p>

<p> </p>

<p>$mb_id = isset($_POST['mb_id']) ? strip_tags(clean_xss_attributes($_POST['mb_id'])) : '';</p>

<p>$pack_point = isset($_POST['pack_point']) ? (int)strip_tags(clean_xss_attributes($_POST['pack_point'])) : 0;</p>

<p>$pack_content = isset($_POST['po_content']) ? strip_tags(clean_xss_attributes($_POST['pack_content'])) : '';</p>

<p>$expire = isset($_POST['pack_expire_term']) ? preg_replace('/[^0-9]/', '', $_POST['pack_expire_term']) : '';</p>

<p> </p>

<p>$mb = get_member($mb_id);</p>

<p> </p>

<p>if (!$mb['mb_id']) {</p>

<p>    alert('존재하는 회원아이디가 아닙니다.', './point_list.php?' . $qstr);</p>

<p>}</p>

<p> </p>

<p>if (($pack_point < 0) && ($pack_point * (-1) > $mb['mb_point'])) {</p>

<p>    alert('포인트를 깎는 경우 현재 포인트보다 작으면 안됩니다.', './point_list.php?' . $qstr);</p>

<p>}</p>

<p> </p>

<p>insert_point($mb_id, $pack_point, $pack_content, '@passive', $mb_id, $member['mb_id'] . '-' . uniqid(''), $expire);</p>

<p> </p>

<p>goto_url('./package_point_list.php?' . $qstr);</p>

<p> </p>

<p>

 

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
1년 전

insert_point($mb_id, $pack_point, $pack_content, '@passive', $mb_id, $member['mb_id'] . '-' . uniqid(''), $expire);

 

 

이함수가 포인트함수입니다.

 

common.php 파일에서 인서트포인트 검색하면 함수 나오니깐 그걸 토대로 패키지 포인트 함수 하나더 만드세요

 

저도 2개 별도로 만들어서 쓰는중 ㅇㅅㅇ 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 5개

잉잉잉히히
1년 전
이부분 말씀하신게 맞나용?!

[code]
// 자동로그인 부분에서 첫로그인에 포인트 부여하던것을 로그인중일때로 변경하면서 코드도 대폭 수정하였습니다.
if (isset($_SESSION['ss_mb_id']) && $_SESSION['ss_mb_id']) { // 로그인중이라면
$member = get_member($_SESSION['ss_mb_id']);

// 차단된 회원이면 ss_mb_id 초기화, 또는 세션에 저장된 회원 토큰값을 비교하여 틀리면 초기화
if( ($member['mb_intercept_date'] && $member['mb_intercept_date'] <= date("Ymd", G5_SERVER_TIME))
|| ($member['mb_leave_date'] && $member['mb_leave_date'] <= date("Ymd", G5_SERVER_TIME))
|| (function_exists('check_auth_session_token') && !check_auth_session_token($member['mb_datetime']))
) {
set_session('ss_mb_id', '');
$member = array();
} else {
// 오늘 처음 로그인 이라면
if (substr($member['mb_today_login'], 0, 10) != G5_TIME_YMD) {
// 첫 로그인 포인트 지급
insert_point($member['mb_id'], $config['cf_login_point'], G5_TIME_YMD.' 첫로그인', '@login', $member['mb_id'], G5_TIME_YMD);

// 오늘의 로그인이 될 수도 있으며 마지막 로그인일 수도 있음
// 해당 회원의 접근일시와 IP 를 저장
$sql = " update {$g5['member_table']} set mb_today_login = '".G5_TIME_YMDHIS."', mb_login_ip = '{$_SERVER['REMOTE_ADDR']}' where mb_id = '{$member['mb_id']}' ";
sql_query($sql);
}
}
} else {
[/code]
미니님a
1년 전
죄송합니다.

lib/common.lib.php 파일에 있습니다.

[code]
// 포인트 부여
function insert_point($mb_id, $point, $content='', $rel_table='', $rel_id='', $rel_action='', $expire=0)
{
global $config;
global $g5;
global $is_admin;

// 포인트 사용을 하지 않는다면 return
if (!$config['cf_use_point']) { return 0; }

// 포인트가 없다면 업데이트 할 필요 없음
if ($point == 0) { return 0; }

// 회원아이디가 없다면 업데이트 할 필요 없음
if ($mb_id == '') { return 0; }
$mb = sql_fetch(" select mb_id from {$g5['member_table']} where mb_id = '$mb_id' ");
if (!$mb['mb_id']) { return 0; }

// 회원포인트
$mb_point = get_point_sum($mb_id);

// 이미 등록된 내역이라면 건너뜀
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;
}

// 포인트 건별 생성
$po_expire_date = '9999-12-31';
if($config['cf_point_term'] > 0) {
if($expire > 0)
$po_expire_date = date('Y-m-d', strtotime('+'.($expire - 1).' days', G5_SERVER_TIME));
else
$po_expire_date = date('Y-m-d', strtotime('+'.($config['cf_point_term'] - 1).' days', G5_SERVER_TIME));
}

$po_expired = 0;
if($point < 0) {
$po_expired = 1;
$po_expire_date = G5_TIME_YMD;
}
$po_mb_point = $mb_point + $point;

$sql = " insert into {$g5['point_table']}
set mb_id = '$mb_id',
po_datetime = '".G5_TIME_YMDHIS."',
po_content = '".addslashes($content)."',
po_point = '$point',
po_use_point = '0',
po_mb_point = '$po_mb_point',
po_expired = '$po_expired',
po_expire_date = '$po_expire_date',
po_rel_table = '$rel_table',
po_rel_id = '$rel_id',
po_rel_action = '$rel_action' ";
sql_query($sql);

// 포인트를 사용한 경우 포인트 내역에 사용금액 기록
if($point < 0) {
insert_use_point($mb_id, $point);
}

// 포인트 UPDATE
$sql = " update {$g5['member_table']} set mb_point = '$po_mb_point' where mb_id = '$mb_id' ";
sql_query($sql);

return 1;
}
[/code]
잉잉잉히히
1년 전
아! 저도 서치하면서 올려주신 부분 찾아서 수정했는데 내용이 아예 데이터베이스로 안들어가지더라구요 ㅜㅜㅜ
미니님a
1년 전
코드를 올려서 도움 받으시는게 좋을 듯 합니다.

저도 2개 추가 해서 (사이트에 경험치 / 재화)가 있어서 사용중입니다.
잉잉잉히히
1년 전
알겠습니다! 답변감사드려요 :)

댓글을 작성하려면 로그인이 필요합니다.

혹시 해결하셨나요? 저도 lib/common.lib.php에 있는 거 수정했는데 관리자페이지에서 DB로 아예 입력이 안 되네요 ㅠㅠ

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인