2026, 새로운 도약을 시작합니다.

본인글만 보이기

게시판 하나를 상담게시판으로 운영할건데

글쓴이가 쓴 게시글 목록을

글쓴이와 관리자만 보이게 하려면 어떻게 해야 하나요

조언 부탁드립니다

꾸벅

답변 2개

영카트도 깔려있다면

도메인/bbs/qalist.php 기본 1:1문의 게시판을 이용하셔도 되지 않을까요?

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

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

그누보드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.phpwr_mb_id로 필터링 조건 추가

  • view.php에서도 동일한 조건으로 제한

  • 관리자($is_admin)는 항상 전체 보기 가능


필요하시면 적용할 게시판 ID에 맞춰 전체 코드를 정확히 수정해드릴 수 있으니 말씀 주세요.

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

답변에 대한 댓글 4개

조언 감사드립니다.

list.php 및 view.php 수정은 무슨말인지 알겠는데
"이 코드를 $sql_search 조건에 추가해주면 됩니다. "
<=이부분이 어디서 어떻게 작업을 해야 하는지
이해가 안됩니다.
제가 영원한 초보라서요
조언 부탁드립니다.
조언에 맞추어 한번 해보고 안되면 도움을 받도록 하겠습니다.
그부분은 무시해도 될거에요 ㅎㅎㅎㅎ
일단 리스트랑 뷰에서만 넣어보시면되요
1.list.php 상단 아래와 같이수정
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가

// 선택옵션으로 인해 셀합치기가 가변적으로 변함
$colspan = 5;

if ($is_checkbox) $colspan++;
if ($is_good) $colspan++;
if ($is_nogood) $colspan++;

// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0);

// 관리자 여부 체크
$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 ";
}
}
?>


2.view.php 상단 아래와 같이 수정

<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
include_once(G5_LIB_PATH.'/thumbnail.lib.php');

// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0);


// 관리자 또는 글쓴이만 보기 가능
$is_admin = ($member['mb_id'] && $member['mb_level'] >= $board['bo_admin_level']);

if (!$is_admin && $write['mb_id'] !== $member['mb_id']) {
alert('본인 또는 관리자만 열람 가능합니다.');
}
?>

수정하여 업로드하였는데
비회원이라도 글목록이 보입니다.
머가 잘못된걸까요
아깐 정신 없어서 빠진게 있었네요
게시판 설정에 가셔서 목록 권한을 10으로 설정해주시고
$is_admin = ($member['mb_id'] && $member['mb_level'] >= $board['bo_list_level']); 이걸로해서 변경해주세요
글 읽기와 목록 둘다 수정해보세요 만약에 수정됐으면 채택부탁드려요

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

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

로그인
🐛 버그신고