본인글만 보이기

본인글만 보이기

QA

본인글만 보이기

답변 2

본문

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

글쓴이가 쓴 게시글 목록을

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

조언 부탁드립니다

꾸벅

이 질문에 댓글 쓰기 :

답변 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.phpwr_mb_id로 필터링 조건 추가

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

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


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

조언 감사드립니다.

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']); 이걸로해서 변경해주세요
글 읽기와 목록 둘다 수정해보세요 만약에 수정됐으면 채택부탁드려요

답변을 작성하시기 전에 로그인 해주세요.
전체 4
© SIRSOFT
현재 페이지 제일 처음으로