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

내가 쓴 글 만 보여지기. (내글,내가작성한글)

** 주의사항

** 본 게시판은 회원전용 게시판입니다. (비회원 금지)

** 반드시 게시판 설정에서 목록,보기,쓰기 페이지 등급을 2등급 이상으로 해주세요.

** 1등급(기본값) 으로 하시면 비회원일 경우 모든 글이 보여집니다.

/bbs/list.php 에서 총 2군데를 수정해야 합니다.

** 아래 코드중 $bo_table == 'free' 이 부분을 원하는 게시판 아이디로 바꿔주세요.

** 만약 여러개의 게시판일경우

** if (($bo_table == 'free' || $bo_table == 'gallery' || $bo_table == 'notice') && $is_member && !$is_admin) {

** 이런식으로 늘려줄 수 있습니다.

[code]

if ($sca || $stx || $stx === '0') {     //검색이면
    $is_search_bbs = true;      //검색구분변수 true 지정
    $sql_search = get_sql_search($sca, $sfl, $stx, $sop);

    // 가장 작은 번호를 얻어서 변수에 저장 (하단의 페이징에서 사용)
    $sql = " select MIN(wr_num) as min_wr_num from {$write_table} ";
    $row = sql_fetch($sql);
    $min_spt = (int)$row['min_wr_num'];

    if (!$spt) $spt = $min_spt;

    $sql_search .= " and (wr_num between {$spt} and ({$spt} + {$config['cf_search_part']})) ";

    // 원글만 얻는다. (코멘트의 내용도 검색하기 위함)
    // 라엘님 제안 코드로 대체 http://sir.kr/g5_bug/2922
    $sql = " SELECT COUNT(DISTINCT `wr_parent`) AS `cnt` FROM {$write_table} WHERE {$sql_search} ";
    $row = sql_fetch($sql);
    $total_count = $row['cnt'];
    // $sql = " select distinct wr_parent from {$write_table} where {$sql_search} ";
    // $result = sql_query($sql);
    // $total_count = sql_num_rows($result);
} else {
    $sql_search = "";

    $total_count = $board['bo_count_write'];
}

[/code]

이 부분을 검색하셔서 아래 처럼 바꿔주세요.

[code]

// ------------------------------------------------------------------------
// 2601021533 adpro - 페이징 카운트 처리
// 수정본
if ($sca || $stx || $stx === '0') {     //검색이면
    $is_search_bbs = true;      //검색구분변수 true 지정
    $sql_search = get_sql_search($sca, $sfl, $stx, $sop);

    // 가장 작은 번호를 얻어서 변수에 저장 (하단의 페이징에서 사용)
    $sql = " select MIN(wr_num) as min_wr_num from {$write_table} ";
    $row = sql_fetch($sql);
    $min_spt = (int)$row['min_wr_num'];

    if (!$spt) $spt = $min_spt;

    $sql_search .= " and (wr_num between {$spt} and ({$spt} + {$config['cf_search_part']})) ";

    // free 게시판일 경우 내 글만 검색 (관리자예외)
    if ($bo_table == 'free' && $is_member && !$is_admin) {
        $sql_search .= " and mb_id = '{$member['mb_id']}' ";
    }

    // 원글만 얻는다. (코멘트의 내용도 검색하기 위함)
    // 라엘님 제안 코드로 대체 http://sir.kr/g5_bug/2922
    $sql = " SELECT COUNT(DISTINCT `wr_parent`) AS `cnt` FROM {$write_table} WHERE {$sql_search} ";
    $row = sql_fetch($sql);
    $total_count = $row['cnt'];
} else {
    $sql_search = "";

    // free 게시판일 경우 내 글 개수만 카운트 (관리자예외)
    if ($bo_table == 'free' && $is_member && !$is_admin) {
        $sql = " SELECT COUNT(*) AS cnt FROM {$write_table} WHERE wr_is_comment = 0 AND mb_id = '{$member['mb_id']}' ";
        $row = sql_fetch($sql);
        $total_count = $row['cnt'];
    } else {
        $total_count = $board['bo_count_write'];
    }
}

/*
// 2601021530 adpro - 리스트에서 내글 만 가져오기 - 페이징, 카운트
// 원본
if ($sca || $stx || $stx === '0') {     //검색이면
    $is_search_bbs = true;      //검색구분변수 true 지정
    $sql_search = get_sql_search($sca, $sfl, $stx, $sop);

    // 가장 작은 번호를 얻어서 변수에 저장 (하단의 페이징에서 사용)
    $sql = " select MIN(wr_num) as min_wr_num from {$write_table} ";
    $row = sql_fetch($sql);
    $min_spt = (int)$row['min_wr_num'];

    if (!$spt) $spt = $min_spt;

    $sql_search .= " and (wr_num between {$spt} and ({$spt} + {$config['cf_search_part']})) ";

    // 원글만 얻는다. (코멘트의 내용도 검색하기 위함)
    // 라엘님 제안 코드로 대체 http://sir.kr/g5_bug/2922
    $sql = " SELECT COUNT(DISTINCT `wr_parent`) AS `cnt` FROM {$write_table} WHERE {$sql_search} ";
    $row = sql_fetch($sql);
    $total_count = $row['cnt'];
    // $sql = " select distinct wr_parent from {$write_table} where {$sql_search} ";
    // $result = sql_query($sql);
    // $total_count = sql_num_rows($result);
} else {
    $sql_search = "";

    $total_count = $board['bo_count_write'];
}
*/
// ------------------------------------------------------------------------


[/code]

그리고

[code]

if ($is_search_bbs) {
    $sql = " select distinct wr_parent from {$write_table} where {$sql_search} {$sql_order} limit {$from_record}, $page_rows ";
} else {
    $sql = " select * from {$write_table} where wr_is_comment = 0 ";
    if(!empty($notice_array))
        $sql .= " and wr_id not in (".implode(', ', $notice_array).") ";
    $sql .= " {$sql_order} limit {$from_record}, $page_rows ";
}

[/code]

이 부분을 찾으셔서

[code]

// ---------------------------------------------------------------
// 2601021530 adpro - 리스트에서 내글 만 가져오기 - 목록 쿼리
// 수정본
if ($is_search_bbs) {
    // free 게시판일 경우 내 글만 검색 (관리자 예외)
    $adp_2601021521_my_filter = '';
    if ($bo_table == 'free' && $is_member && !$is_admin) {
        $adp_2601021521_my_filter = " and mb_id = '{$member['mb_id']}' ";
    }
    
    $sql = " select distinct wr_parent from {$write_table} where {$sql_search} {$adp_2601021521_my_filter} {$sql_order} limit {$from_record}, $page_rows ";
} else {
    $sql = " select * from {$write_table} where wr_is_comment = 0 ";
    if(!empty($notice_array))
        $sql .= " and wr_id not in (".implode(', ', $notice_array).") ";
    
    // free 게시판일 경우 내 글만 가져오기 (관리자 예외)
    if ($bo_table == 'free' && $is_member && !$is_admin) {
        $sql .= " and mb_id = '{$member['mb_id']}' ";
    }
    
    $sql .= " {$sql_order} limit {$from_record}, $page_rows ";
}

/*
// 2601021530 adpro - 리스트에서 내글 만 가져오기
// 원본
if ($is_search_bbs) {
    $sql = " select distinct wr_parent from {$write_table} where {$sql_search} {$sql_order} limit {$from_record}, $page_rows ";
} else {
    $sql = " select * from {$write_table} where wr_is_comment = 0 ";
    if(!empty($notice_array))
        $sql .= " and wr_id not in (".implode(', ', $notice_array).") ";
    $sql .= " {$sql_order} limit {$from_record}, $page_rows ";
}
*/
// ---------------------------------------------------------------

[/code]

이렇게 바꿔주세요.

이렇게 하면 

1982076563_1767336556.9544.png

일반 회원은 본인의 글만 보여지고 (공지 제외)

1982076563_1767336589.2089.png

관리자는 모든 글이 보입니다.

그리고 추가로 뷰페이지에서도 본인글만 가져오려면

사용하시는 스킨의 view.skin.php 에서

[code]

<?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);

// 여기를 추가해주세요.
if (in_array($bo_table, array('free', 'gallery')) && $is_member && !$is_admin) {
    $adp_2601021521_is_notice = in_array($write['wr_id'], explode(',', trim($board['bo_notice'])));
    if (!$adp_2601021521_is_notice && $write['mb_id'] != $member['mb_id']) {
        alert('본인이 작성한 글만 열람 가능합니다.', get_pretty_url($bo_table));
    }
}

?>

[/code]

이렇게 코드를 수정해주시면됩니다.

|

댓글 6개

수고하셨습니다!!

@아이스웨덴™ 반드시 목록 접근권한 등급을 2등급 이상으로 해주셔야 합니다.

고생하셨습니다.

@엘뤼아르 반드시 목록 접근권한 등급을 2등급 이상으로 해주셔야 합니다.

감사합니다 ^^

@민트다이어리 반드시 목록 접근권한 등급을 2등급 이상으로 해주셔야 합니다.

댓글 작성

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

로그인하기

그누보드5 팁자료실

번호 제목 글쓴이 날짜 조회
공지 3년 전 조회 4,593
2741 어제 조회 76
2740 3일 전 조회 83
2739 1주 전 조회 195
2738 1주 전 조회 200
2737 1주 전 조회 169
2736 1주 전 조회 269
2735 2주 전 조회 274
2734 3주 전 조회 255
2733 1개월 전 조회 258
2732 1개월 전 조회 293
2731 1개월 전 조회 261
2730 1개월 전 조회 218
2729 1개월 전 조회 344
2728 1개월 전 조회 238
2727 1개월 전 조회 413
2726 1개월 전 조회 248
2725 1개월 전 조회 322
2724 1개월 전 조회 352
2723 1개월 전 조회 260
2722 1개월 전 조회 293
2721 1개월 전 조회 206
2720 2개월 전 조회 299
2719 2개월 전 조회 302
2718 2개월 전 조회 196
2717 2개월 전 조회 328
2716 2개월 전 조회 198
2715 2개월 전 조회 306
2714 2개월 전 조회 266
2713 2개월 전 조회 369
2712 2개월 전 조회 284
🐛 버그신고