포인트가 db에 저장이 안되는 문제 채택완료
안녕하세요.
광고를 포인트로 결제하는 소스인데, 그누보드의 insert_point 함수를 사용해서 결제한 포인트와 결제후 남은 포인트를 각각 g5_point 테이블에 업데이트하고 g5_member 테이블의 mb_point 에 저장하려고 합니다.
그런데 소스가 잘못돼서 그렇겠지만 db 저장이 안됩니다.
며칠째 끙끙거리는데 제 실력으로는 도저히 모르겠어요.
도와주시면 정말 감사하겠습니다.
아래는 서버측 php
if ($is_guest) { alert_close('회원만 이용하실 수 있습니다.'); }
error_reporting(E_ALL); ini_set('display_errors', 1);
$totalSale = isset($_POST['totalSale']) ? (int) $_POST['totalSale'] : 0; $remainingPoints = isset($_POST['remainingPoints']) ? (int) $_POST['remainingPoints'] : 0; $mb_id = $member['mb_id'];
// 포인트 사용 및 결제 처리 try { // 포인트를 차감하기 위해 insert_point 함수를 사용 $result = insert_point($mb_id, -$totalSale, '광고구입', 'advertisement', $mb_id, '광고구입');
if ($result > 0) { echo 'success'; } else { throw new Exception('포인트 차감 실패'); } } catch (Exception $e) { echo '오류: ' . $e->getMessage(); }
그리고 다음은 클라이언트측 소스의 자바 스크립트 일부분입니다.
function processPayment() { alert('회원만 이용하실 수 있습니다.'); return;
const totalSale = parseInt(totalSaleElem.textContent.replace(/[^0-9]/g, '')); const memberPoint = ;
if (totalSale > memberPoint) { const shortage = totalSale - memberPoint; alert(`${shortage.toLocaleString()} points가 부족합니다. 충전하시겠습니까?`); } else { if (confirm(`${totalSale.toLocaleString()} points를 결제하시겠습니까?`)) { const remainingPoints = memberPoint - totalSale;
// 포인트 결제 처리 및 업데이트 const xhr = new XMLHttpRequest(); xhr.open('POST', 'https://hoju-korean.com/theme/eb4_comm_004/skin/board/pricing/process_payment.php', true); xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); xhr.onreadystatechange = function() { if (xhr.readyState === XMLHttpRequest.DONE) { if (xhr.status === 200) { alert(`${totalSale.toLocaleString()} points가 결제되었습니다. 남은 포인트는 ${remainingPoints.toLocaleString()} points입니다. 광고요청페이지로 이동하시겠습니까?`); window.location.href = 'https://hoju-korean.com/bbs/write.php?bo_table=request_ad'; } else { alert('결제 처리 중 오류가 발생했습니다: ' + xhr.responseText); } } };
xhr.send(`totalSale=${totalSale}&remainingPoints=${remainingPoints}`); } } }
답변 2개
답변을 작성하려면 로그인이 필요합니다.
로그인