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

익명게시판에서 글쓴이 구분하기

· 4년 전 · 4431 · 5

1. 익명게시판에서 댓글에 글쓴이 구분이 가능하도록 하는 간단한 코드 입니다.

2. 게시글 테이블의 여분필드 wr_1에 임시ID를 넣어 작성자를 구분하는 방법 입니다.

 

-적용방법-

 

1. 첨부파일 "tmp.mb_id.head.skin.php"을 다운로드 받아 사용하고 있는 테마폴더의 게시판 테마 폴더에 넣어주세요. 예) html/theme/tailwind0.3/skin/board/basic 이 파일이 임시ID를 만들어주는 부분입니다.

833136480_1624941808.3731.png

 

2. 같은 폴더에 있는 "write.skin.php" 를 열어 아래의 코드를 추가해줍니다.

[code]

<?php
if (!defined('_GNUBOARD_')) exit; //파일 최상단에 위치한 이 코드 바로 밑에 3번줄을 추가하세요.
include("tmp.mb_id.head.skin.php");
?>

[/code]

글을 작성할때 임시ID를 만들어 미리 세션에 올려두는 부분입니다.

 

3. 같은 폴더에 있는 "write_update.skin.php" 파일을 열어주세요.

해당 파일이 없는경우 "write_update.skin.php"을 이름으로 하는 파일을 새로 만들어주세요.

해당 파일에 아래의 코드를 넣어주시면 됩니다.  코드는 익명+글쓴이 표시가 포함된 코드 입니다. 글쓴이 구분만 필요한경우 주석부분의 내용만 쓰세요.

 

[code]

<?php
include('tmp.mb_id.head.skin.php');
if ($w === '' || $w === 'r') {
    if($is_admin === "super"){
        sql_query(" update {$write_table} set mb_id = '', wr_name = '관리자' where wr_id = '{$wr_id}' ");
        sql_query(" update {$g5['board_new_table']} set mb_id = '' where bo_table = '{$bo_table}' and wr_id = '{$wr_id}' ");
    }
    else{
        sql_query(" update {$write_table} set mb_id = '', wr_name = '익명' where wr_id = '{$wr_id}' ");
        sql_query(" update {$g5['board_new_table']} set mb_id = '' where bo_table = '{$bo_table}' and wr_id = '{$wr_id}' ");
        //글쓴이 구분 기능 시작
        sql_query(" update {$write_table} set wr_1 = '".$_SESSION['mb_id']."' where wr_id = '{$wr_id}' ");
        //글쓴이 구분 기능 종료
    }
    

 

}  else if ($w === 'u') {
    if($is_admin === "super"){
        sql_query(" update {$write_table} set mb_id = '', wr_name = '관리자' where wr_id = '{$wr['wr_id']}' ");
    }else{
        sql_query(" update {$write_table} set mb_id = '', wr_name = '익명' where wr_id = '{$wr['wr_id']}' ");
        //글쓴이 구분 기능 시작
        sql_query(" update {$write_table} set wr_1 = '".$_SESSION['mb_id']."' where wr_id = '{$wr_id}' ");
        //글쓴이 구분 기능 종료
    }
}
?>

[/code]

 

4. 같은 폴더 내 "write_comment_update.skin.php" 파일을 편집기로 열어주세요. 파일이 없다면 만들어주시면 됩니다. 그 이후 아래 내용을 추가해주세요. 위에서와 마찬가지로 익명과 글쓴이 구분 기능이 추가된 코드 입니다.

 

[code]

<?php
include('tmp.mb_id.head.skin.php');
if ($w === 'c') {
    if($is_admin === "super"){
        sql_query(" update {$write_table} set mb_id = '', wr_name = '관리자' where wr_id = '{$comment_id}' ");
        sql_query(" update {$g5['board_new_table']} set mb_id = '' where bo_table = '{$bo_table}' and wr_id = '{$comment_id}' ");
    }else{
        sql_query(" update {$write_table} set mb_id = '', wr_name = '익명' where wr_id = '{$comment_id}' ");
        sql_query(" update {$g5['board_new_table']} set mb_id = '' where bo_table = '{$bo_table}' and wr_id = '{$comment_id}' ");
        
        //글쓴이 구분 기능 시작
        $res = sql_query(" select wr_1 from {$write_table} where wr_id = '{$wr_id}' "); //wr_id를 이용 해 작성자 임시ID 추출
        $row = sql_fetch_array($res);
        if($_SESSION['mb_id'] === $row['wr_1']){ //현재 세션값과 여분필드 wr_1을 비교
            sql_query(" update {$write_table} set mb_id = '', wr_name = '글쓴이' where wr_id = '{$comment_id}' "); //맞다면 글쓴이로 변경
        }
        //글쓴이 구분 기능 종료
    }

}  else if ($w === 'cu') {
    if($is_admin === "super"){
        sql_query(" update {$write_table} set mb_id = '', wr_name = '관리자' where wr_id = '{$comment_id}' ");
    }else{
        sql_query(" update {$write_table} set mb_id = '', wr_name = '익명' where wr_id = '{$comment_id}' ");
    }
}

?>

[/code]

 

5. 수정하신 파일을 모두 업로드하신 후 세션을 정리하시면 적용됩니다.

 

6. 적용 결과화면

833136480_1624942620.7398.png

 

댓글 작성

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

로그인하기

댓글 4개

오 감사합니다
좋아보입니다.
적용해보겠습니다
감사합니다 ^^
감사합니다
3년 전
글 삭제가 안되는데요. 원래 맞는건가요?
'자신의 글이 아니므로 삭제할 수 없습니다.' 라고 나옵니다.
운영자도 삭제를 못하네요

게시글 목록

번호 제목
24318
24317
24315
24309
24294
24293
24277
24262
24260
24253
24251
24236
24233
24228
24226
24221
24214
24203
24201
24199
24196
24195
24194
24192
24191
24187
24185
24183
24172
24168