채택완료

insert point 질문

https://github.com/PriyanshK09/Spin-the-Wheel-HTML

에 있는 룰렛 소스를 활용해서 포인트를 적립하려고 합니다.

 

php쪽 문제라 게시글에는 php코드만 올립니다. 전체 소스는 아래에서 다운로드 가능합니다.

https://file.io/dEMOFN1xPoiN

 

룰렛에서 나온 결과를 자바스크립트 generatedValue 변수에 넣고 그걸 다시 php에 gvalue라는 변수에 집어넣고 gavlue 값만큼 포인트를 추가 하려는건데. 

insert_point에서 오류 나는데 뭐가 문제일까요?

 

Copy
<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');

include_once('./_common.php');

// POST 요청 처리 (JavaScript에서 전송된 gvalue 처리)
$gvalue = null;

// insert_point 함수 정의
function insert_point($mb_id, $point = null, $content = '포인트 게임 적립', $rel_table = '@passive', $rel_id = 'ww9603', $rel_action = 'Point_Game', $expire = 0) {
    if ($point === null && isset($gvalue)) {
        $point = $gvalue; // $gvalue 값을 사용
    }
}

// POST 요청이 있을 경우
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // JavaScript에서 전송된 'gvalue' 값 가져오기
    $gvalue = $_POST['gvalue'] ?? null;

    // 응답을 JSON 형식으로 반환
    echo json_encode(['gvalue' => $gvalue]);

    exit; // PHP 스크립트 종료
}
?>

답변 1개 / 댓글 3개

채택된 답변
+20 포인트

* 그누보드의 insert_point() 함수는 /lib/common.lib.php 에 정의되어 있습니다. 사용만 하면 됩니다.

* 함수정의와 함수사용의 개념 이해가 필요해 보입니다.

=> https://thebasics.tistory.com/29

 

* 수정해 본 코드입니다. (by Claude)
(동일 디렉토리에 '_common.php' 가 없는 경우 에러가 발생할 수 있습니다.)

Copy
<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
include_once('./_common.php');

// POST 요청 처리
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // POST로 전달된 값 확인
    $gvalue = isset($_POST['gvalue']) ? (int)$_POST['gvalue'] : 0;

    if (!$is_member) {
        die(json_encode(['error' => true, 'message' => '회원만 이용 가능합니다.']));
    }

    // 꽝이 아닐 경우에만 포인트 지급
    if ($gvalue > 0) {
     // 포인트 지급
     $point = $gvalue * 100; // 룰렛 숫자 * 100 포인트 지급
     $content = '룰렛 게임 포인트 적립';

     // insert_point 실행
     insert_point($member['mb_id'], $point, $content, '@passive', 'roulette_'.uniqid(), 'roulette_game');

     echo json_encode([
         'error' => false,
         'message' => $point.'포인트가 적립되었습니다.',
         'gvalue' => $gvalue
     ]);

    } else {
     // 꽝일 경우 메시지만 전달
     echo json_encode([
         'error' => false,
         'message' => '아쉽게도 꽝입니다.',
         'gvalue' => $gvalue
     ]);
    }

    exit;
}
?>

답변에 대한 댓글 3개

감사합니다. 소스 뜯어보면서 공부하고 있는데 잘 모르는건 gpt한테 도음 받고 있는데. 역시 함수 공부좀 해야되겠습니다.
프로그램 쪽, 그누보드 쪽은 Claude 가 더 낫습니다. https://claude.ai

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