익명게시판에서 글쓴이 구분하기 > 그누보드5 팁자료실

그누보드5 팁자료실

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

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

첨부파일

tmp.mb_id.head.skin.php (1.6K) 19회 다운로드 2021-06-29 14:03:04

본문

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" 를 열어 아래의 코드를 추가해줍니다.


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

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

 

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

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

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

 


<?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}' ");
        //글쓴이 구분 기능 종료
    }
}
?>

 

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

 


<?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}' ");
    }
}
?>

 

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

 

6. 적용 결과화면

833136480_1624942620.7398.png

 

추천
9

댓글 5개

글 삭제가 안되는데요. 원래 맞는건가요?
'자신의 글이 아니므로 삭제할 수 없습니다.'  라고 나옵니다.
운영자도 삭제를 못하네요
전체 4 |RSS
그누보드5 팁자료실 내용 검색
  • 개별 목록 구성 번호 제목 작성자 작성일 추천 조회
  • 게시물이 없습니다.

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT