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

게시글의 내용 중 일부를 Point 차감하고 보게 할 수 있을까요?

abc123 2년 전 조회 1,968

누구나 게시글을 볼 수 있되,

게시글 내용 중 일부를 기본적으로 숨김처리하고, "보기" 버튼을 클릭해서 Point 차감하고 보게하고 싶습니다.

 

예를 들어, "코가 긴 동물의 이름은?" 이라는 문제에 대한 힌트를 주고 싶은데요.

힌트 1. 정답 글자수 "보기" -> 3

힌트 2. 첫번째 글자 "보기" -> 코

힌트 3. 두번째 글자 "보기" -> 끼

힌트 4. 세번째 글자 "보기" -> 리

 

이런식으로 힌트를 보려면 포인트를 차감하고 볼 수 있고,

다음에 다시 해당 게시물을 조회했을 때, 이미 보았던 힌트는 포인트 차감없이 기본으로 보이도록 하고 싶어요.

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

답변 4개

2년 전

이렇게 해보는건 어떠실까요?

 

// 사용자의 포인트를 차감하는 함수 function deduct_points($user_id, $points) {     // 사용자의 포인트를 차감하는 로직     // 예: UPDATE users SET points = points - $points WHERE user_id = $user_id     // 차감 결과를 반환     return $deducted; }

// 게시글의 힌트 정보 $hints = [     1 => "정답 글자수: 3",     2 => "첫번째 글자: 코",     3 => "두번째 글자: 끼",     4 => "세번째 글자: 리" ];

// 사용자 정보 (예: 로그인한 사용자의 ID) $user_id = 123;

// 게시글의 ID $post_id = 456;

// 사용자의 포인트 정보 가져오기 $user_points = get_user_points($user_id);

// 게시글을 조회한 적이 있는지 확인 $has_viewed_post = check_if_user_has_viewed_post($user_id, $post_id);

// 힌트를 보기 위해 포인트를 차감하고 힌트 내용 출력 if ($has_viewed_post) {     // 이미 게시글을 조회하여 힌트를 보았을 경우     // 힌트 내용을 기본으로 보여줌     foreach ($hints as $hint) {         echo $hint . " ";     } } else {     // 게시글을 처음 조회하여 힌트를 보는 경우     // 포인트 차감 로직을 추가하여 포인트 차감 후 힌트를 보여줌     $points_to_deduct = 1; // 힌트를 보기 위해 차감할 포인트     if ($user_points >= $points_to_deduct) {         // 포인트 차감 가능한 경우         deduct_points($user_id, $points_to_deduct);         mark_post_as_viewed($user_id, $post_id); // 게시글을 조회한 것으로 표시         foreach ($hints as $hint) {             echo $hint . " ";         }     } else {         // 포인트 차감 불가능한 경우         echo "포인트가 부족하여 힌트를 볼 수 없습니다.";     } } ?>  

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

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

구현한다면 ajax로 하는 것을 권합니다.

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

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

플라이
2년 전

네 구현이야 가능합니다만

글 보기시 포인트 차감내역에 따라 기록해두고

오픈 글자수 기록해두어 그만큼 오픈해서 보여주면 될듯 합니다.

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

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

2년 전

할 수는 있는데 원하시는걸 다 답변으로 받을수 있을지는 모르겠네요.

볼때마다 해당에 대한 정보를 디비에 저장해두고 비교하면서 보여주거나 하시면 될거 같습니다.

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

답변에 대한 댓글 2개

a
abc123
2년 전
게시글 내에 설문응답 Skin 같은 것들을 변형해서 설문 참여시 포인트를 차감하고 설문결과 대신 힌트를 보여주는 식으로 변경하면 되지 않을까 싶기도한데, 비슷한 Skin이 있을까요?
엑스엠엘
2년 전
bbs/board.php
보시면 글읽기에 대해서
포인트 처리 하는 부분이 있는데 이를 참고해 보세요

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

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

로그인