insert point 질문 채택완료
길가던분
12개월 전
조회 5,270
https://github.com/PriyanshK09/Spin-the-Wheel-HTML
에 있는 룰렛 소스를 활용해서 포인트를 적립하려고 합니다.
php쪽 문제라 게시글에는 php코드만 올립니다. 전체 소스는 아래에서 다운로드 가능합니다.
룰렛에서 나온 결과를 자바스크립트 generatedValue 변수에 넣고 그걸 다시 php에 gvalue라는 변수에 집어넣고 gavlue 값만큼 포인트를 추가 하려는건데.
insert_point에서 오류 나는데 뭐가 문제일까요?
</p>
<p><?php
error_reporting(E_ALL);
ini_set('display_errors', '1');</p>
<p>include_once('./_common.php');</p>
<p>// POST 요청 처리 (JavaScript에서 전송된 gvalue 처리)
$gvalue = null;</p>
<p>// 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 값을 사용
}
}</p>
<p>// POST 요청이 있을 경우
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// JavaScript에서 전송된 'gvalue' 값 가져오기
$gvalue = $_POST['gvalue'] ?? null;</p>
<p> // 응답을 JSON 형식으로 반환
echo json_encode(['gvalue' => $gvalue]);</p>
<p> exit; // PHP 스크립트 종료
}
?></p>
<p>
댓글을 작성하려면 로그인이 필요합니다.
답변 1개
채택된 답변
+20 포인트
마르스컴퍼니
Expert
12개월 전
* 그누보드의 insert_point() 함수는 /lib/common.lib.php 에 정의되어 있습니다. 사용만 하면 됩니다.
* 함수정의와 함수사용의 개념 이해가 필요해 보입니다.
=> https://thebasics.tistory.com/29
* 수정해 본 코드입니다. (by Claude)
(동일 디렉토리에 '_common.php' 가 없는 경우 에러가 발생할 수 있습니다.)
</p>
<p><?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
include_once('./_common.php');</p>
<p>// POST 요청 처리
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// POST로 전달된 값 확인
$gvalue = isset($_POST['gvalue']) ? (int)$_POST['gvalue'] : 0;</p>
<p> if (!$is_member) {
die(json_encode(['error' => true, 'message' => '회원만 이용 가능합니다.']));
}</p>
<p> // 꽝이 아닐 경우에만 포인트 지급
if ($gvalue > 0) {
// 포인트 지급
$point = $gvalue * 100; // 룰렛 숫자 * 100 포인트 지급
$content = '룰렛 게임 포인트 적립';</p>
<p> // insert_point 실행
insert_point($member['mb_id'], $point, $content, '@passive', 'roulette_'.uniqid(), 'roulette_game');</p>
<p> echo json_encode([
'error' => false,
'message' => $point.'포인트가 적립되었습니다.',
'gvalue' => $gvalue
]);</p>
<p> } else {
// 꽝일 경우 메시지만 전달
echo json_encode([
'error' => false,
'message' => '아쉽게도 꽝입니다.',
'gvalue' => $gvalue
]);
}</p>
<p> exit;
}
?></p>
<p>
로그인 후 평가할 수 있습니다
답변에 대한 댓글 3개
�
길가던분
12개월 전
감사합니다. 소스 뜯어보면서 공부하고 있는데 잘 모르는건 gpt한테 도음 받고 있는데. 역시 함수 공부좀 해야되겠습니다.
�
마르스컴퍼니
12개월 전
프로그램 쪽, 그누보드 쪽은 Claude 가 더 낫습니다. https://claude.ai
�
길가던분
11개월 전
감사합니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인