본인글만 보이기
본문
게시판 하나를 상담게시판으로 운영할건데
글쓴이가 쓴 게시글 목록을
글쓴이와 관리자만 보이게 하려면 어떻게 해야 하나요
조언 부탁드립니다
꾸벅
답변 2
그누보드5(Gnuboard5)에서 상담 게시판을 만들고, 글쓴이와 관리자만 자신이 쓴 글 목록을 볼 수 있도록 하려면 다음과 같은 방식으로 처리할 수 있습니다.
✅ 목표
-
글 목록에서 본인이 작성한 글만 보이게 함 (관리자는 전체 글 보기 가능)
-
다른 사람이 작성한 글은 목록에서 숨김
-
게시글 상세보기 권한도 동일하게 적용 가능
? 수정 방법
1. list.php
수정하기
/bbs/board.php
또는 사용 중인 스킨의 list.skin.php
파일에 조건을 추가합니다.
// 관리자 여부 체크
$is_admin = ($member['mb_id'] && $member['mb_level'] >= $board['bo_admin_level']);
// 본인 글만 보이도록 쿼리 조건 수정
if (!$is_admin) {
// 로그인한 사용자만 제한 적용
if ($member['mb_id']) {
$sql_search .= " and wr_mb_id = '{$member['mb_id']}' ";
} else {
// 비회원일 경우 글 목록 안 보이게 처리
$sql_search .= " and 1=0 ";
}
}
이 코드를 $sql_search
조건에 추가해주면 됩니다. 일반적으로 board.php
에서 $sql_search
라는 변수가 목록을 필터링할 때 쓰입니다.
2. 글 보기 권한도 제한하고 싶다면 view.skin.php
에서 처리
// 관리자 또는 글쓴이만 보기 가능
$is_admin = ($member['mb_id'] && $member['mb_level'] >= $board['bo_admin_level']);
if (!$is_admin && $write['mb_id'] !== $member['mb_id']) {
alert('본인 또는 관리자만 열람 가능합니다.');
}
3. 비회원 글쓴이 처리 (선택 사항)
비회원이 글을 작성할 수 있는 경우 wr_password
를 기준으로 식별하는 처리가 필요합니다. 이 경우엔 세션에 비밀번호 통과 여부를 저장해두고 비교하는 추가 로직이 필요합니다. 가능하면 회원만 작성 가능하게 제한하는 것이 권장됩니다.
✅ 요약
-
list.php
에wr_mb_id
로 필터링 조건 추가 -
view.php
에서도 동일한 조건으로 제한 -
관리자(
$is_admin
)는 항상 전체 보기 가능
필요하시면 적용할 게시판 ID에 맞춰 전체 코드를 정확히 수정해드릴 수 있으니 말씀 주세요.
영카트도 깔려있다면
도메인/bbs/qalist.php 기본 1:1문의 게시판을 이용하셔도 되지 않을까요?
답변을 작성하시기 전에 로그인 해주세요.