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

문법 틀린곳이 있을까요? 채택완료

티틴 8개월 전 조회 1,432

// CAPTCHA 폼 제출 시 처리
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['captcha_answer'])) {
    if ($logged_in) {
        $index = isset($_SESSION['captcha_question_index']) ? $_SESSION['captcha_question_index'] : null;
        if ($index !== null && trim($_POST['captcha_answer']) === $captcha_questions[$index]['answer']) {
            // 정답인 경우: 현재 시각을 세션에 저장하고, CAPTCHA 문제 인덱스 제거
            $_SESSION['captcha_time'] = time();
            unset($_SESSION['captcha_question_index']);
            
            // 로그인한 회원에게 2포인트 지급 (그누보드의 포인트 지급 함수 사용)
            if (function_exists('insert_point')) {
                insert_point($member['mb_id'], 2, "CAPTCHA 정답 처리 - 2포인트 지급", "captcha", $index);
            }
            
            // 정답 처리 후 2포인트 획득 팝업창 출력 후 현재 페이지로 리다이렉트
            echo "<script>
                    alert('2포인트 획득하셨습니다.');
                    location.href='" . $_SERVER['REQUEST_URI'] . "';
                  </script>";
            exit;
        } else {
            $error = "정답이 틀렸습니다. 다시 시도하세요.";
        }
    }
}

 

 

이상하게 포인트가 안들어 오고 있어서요... 혹시 틀린부분이 있을까요?

답변주시면 감사하겠습니다!

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

답변 2개

채택된 답변
+20 포인트
8개월 전

captcha_question_index 세션 있는지 확인해보세요

 

 insert_point($member['mb_id'], 2, "CAPTCHA 정답 처리 - 2포인트 지급", "captcha", $index); 

이게 포인트 주는건데 $index 변수가 제대로 나오는지 널이 아닌가 확인해보세요

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

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

8개월 전

문법오류는 딱히 없어 보입니다.

 

$logged_in

$captcha_questions

$member

 

3가지 변수가 제대로 선언되어있는지 한번 채크해보세요.

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

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

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

로그인