포인트 차감 문의합니다.
본문
게시판 write_update.skin.php 파일에 아래 코드 적용했습니다.
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
// 포인트가 음수이고 회원의 포인트가 0 이거나 작다면
if ($member[mb_point] + $sum_point < 0)
alert("보유하신 포인트(".number_format($member[mb_point]).")임 포인트 부족 신청 불가.\\n\\n포인트를 적립하신 후 이용해 주십시오.", "$g5[path]");
$add_point = ereg_replace("[^0-9]", "", $wr_7); //select 로 넘어온 여분 필드에서 숫자만 추출
$add_point = $add_point * (-1); //포인트 차감 함으로
// 포인트 건별 생성
$sql = " insert into $g5[point_table]
set mb_id = '$member[mb_id]',
po_datetime = '$g5[time_ymdhis]',
po_content = '주문1',
po_point = '$add_point',
po_rel_table = '$bo_table',
po_rel_id = '$member[mb_id]',
po_rel_action = '포인트차감' ";
sql_query($sql);
// 포인트 내역의 합을 구하고
$sql = " select sum(po_point) as sum_po_point from $g5[point_table] where mb_id = '$member[mb_id]' ";
$row = sql_fetch($sql);
$sum_point = $row[sum_po_point];
// 포인트 UPDATE
$sql = " update $g5[member_table] set mb_point = '$sum_point' where mb_id = '$member[mb_id]' ";
sql_query($sql);
{
alert("$wr_7 포인트 차감. 주문완료! 내포인트:$sum_point ","$g5[path]");
}
?>
위 코드는 본인 포인트가 "-" 이면 신청 불가 합니다.
근데 본인 포인트가 100 포인트인 상태에서 "wr_7" 값이 100 포인트 이상 선택 시("wr-7" 값은 500p,700p,900p 값)으로 주문해도 주문이 되고 본인 포인트 "-" 가 되며 주문이 가능합니다.
전 "wr-7"값보다 많으면 주문 가능, 적으면 주문 불가 이렇게 하고자 합니다.
고수 님 좀 봐주십시오.......;;
또 크롬에서 주문 완료, 주문 불가란 메시지가 뜨지 않는데 원래 그런건지요. 익스는 정상이구요
답변 1
$wr_7 이라는게 무엇에 사용되는지 모르겠습니다만 어떻게 기록이 되는지도 모르겠고 숫자만 넘어 오는지
아니면 다른것도 넘어 와서 본문에 숫자만 빼고 제외 시키는지 알 수 없는데 기본적으로 셀렉트에서 숫자만 넘어 올텐데
$add_point = ereg_replace("[^0-9]", "", $wr_7); //select 로 넘어온 여분 필드에서 숫자만 추출
라는게 왜 들어가 있는지 알 수 없으나 아래 처럼 하시면 될거 같은데요 ?
아니면 다른것도 넘어 와서 본문에 숫자만 빼고 제외 시키는지 알 수 없는데 기본적으로 셀렉트에서 숫자만 넘어 올텐데
$add_point = ereg_replace("[^0-9]", "", $wr_7); //select 로 넘어온 여분 필드에서 숫자만 추출
라는게 왜 들어가 있는지 알 수 없으나 아래 처럼 하시면 될거 같은데요 ?
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
// 포인트가 음수이고 회원의 포인트가 0 이거나 작다면
$add_point = ereg_replace("[^0-9]", "", $wr_7); //select 로 넘어온 여분 필드에서 숫자만 추출
if ($member[mb_point] + $sum_point < 0 || $member[mb_point] + $sum_point < $wr_7) {$add_point = ereg_replace("[^0-9]", "", $wr_7); //select 로 넘어온 여분 필드에서 숫자만 추출
alert("보유하신 포인트(".number_format($member[mb_point]).")임 포인트 부족 신청 불가.\\n\\n포인트를 적립하신 후 이용해 주십시오.", "$g5[path]");
}
}
$add_point = $add_point * (-1); //포인트 차감 함으로
// 포인트 건별 생성
$sql = " insert into $g5[point_table]
set mb_id = '$member[mb_id]',
po_datetime = '$g5[time_ymdhis]',
po_content = '주문1',
po_point = '$add_point',
po_rel_table = '$bo_table',
po_rel_id = '$member[mb_id]',
po_rel_action = '포인트차감' ";
sql_query($sql);
// 포인트 내역의 합을 구하고
$sql = " select sum(po_point) as sum_po_point from $g5[point_table] where mb_id = '$member[mb_id]' ";
$row = sql_fetch($sql);
$sum_point = $row[sum_po_point];
// 포인트 UPDATE
$sql = " update $g5[member_table] set mb_point = '$sum_point' where mb_id = '$member[mb_id]' ";
sql_query($sql);
{
alert("$wr_7 포인트 차감. 주문완료! 내포인트:$sum_point ","$g5[path]");
}
?>
답변을 작성하시기 전에 로그인 해주세요.