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

댓글 작성시 포인트 차감을 설정했을경우 포인트가 없으면 댓글 등록안되게 하는법 있을까요?? 채택완료

그누초보님 9년 전 조회 2,564

아래는 그누5 기본에서 가져왔는데요

제 게시판의 경우 댓글 작성시 포인트를 차감하고

그 포인트가 없으면 경고를 띄운다음에 댓글이 작성되지 않아야 하는데

경고문구는 뜨는데 댓글은 작성이 됩니다..

 

어디를 수정해야 할까요??

 

write_comment_update.skin.php 내용

</p><p>    // 댓글쓰기 포인트설정시 회원의 포인트가 음수인 경우 댓글을 쓰지 못하던 버그를 수정 (곱슬최씨님)
    $tmp_point = ($member['mb_point'] > 0) ? $member['mb_point'] : 0;
    if ($tmp_point + $board['bo_comment_point'] < 0 && !$is_admin)
        alert('보유하신 포인트('.number_format($member['mb_point']).')가 없거나 모자라서 댓글쓰기('.number_format($board['bo_comment_point']).')가 불가합니다.\\n\\n포인트를 적립하신 후 다시 댓글을 써 주십시오.');</p><p>

 

포인트가 없으면 글이 등록 안되었으면 합니다.

 

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

답변 1개

채택된 답변
+20 포인트
write_comment_update.skin.php 파일은 이미 댓글이 해당 테이블에 입력이 된 후에 include가 되어 있습니다.

그래서 포인트로 댓글 등록이 안 되게 하시려면 그 윗단에서 처리를 해야 하는데요, 그러려면 저 파일이 아니라 write_comment_update.head.skin.php 이 파일을 생성해서 만들어야 합니다.

물론 write_comment_update.skin.php 이 파일에 넣으신 거는 댓글 입력 후에 포인트 차감을 해야 하니까 그대로 두셔야 하겠네요.

아까 그 내용과 이어진다면 댓글 입력 페이지에서 hidden으로 넘기는 wr_point에 현재 글에 댓글을 달 수 있는 포인트가 있을 테니 이걸 그대로 넘겨서 댓글을 다는 회원의 보유 포인트와 비교하면 될 것 같습니다. 

 

write_comment_update.head.skin.php 파일을 생성합니다. 

if($_POST['wr_point'] > $member['mb_point']) {

   alert("포인트가 부족합니다."); 

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

답변에 대한 댓글 1개

그누초보님
9년 전
감사해요^^

관리자 페이지에서는 정한 포인트 보다 없으면 게시글이 안써지는데
별도 여분필드 포인트로 하면 경고문구는 뜨는데 댓글은 써지더라구요.

자세한 설명까지 너무나 감사합니다^^

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

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

로그인