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

익명게시판 만들기 (2020-02-03 18:46:03 수정)

· 5년 전 · 5610 · 7

익명 게시판으로 사용하는 방법입니다.
목록과 본문화면에 작성자 이름에 익명으로 보이도록 합니다.
회원 로그인 후 작성하는 경우에는 mb_id 값이 존재하므로 작성글 추적(?)이 가능합니다.
이용에 착오 없으시기 바랍니다.


1. skin / board / basic / write_update.skin.php  파일이 없으면 생성
<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가 

// 익명으로 이름을 저장하기
if ($is_admin!="super") {{
    $alp_rand  = rand(65,90);
    $alp_rand2 = rand(97,122);
    $nick_alp1 = chr($alp_rand);
    $nick_alp2 = chr($alp_rand2);
    $nick_num1 = rand(1,9);
    $nick_num2 = rand(0,9);
    $nick_num3 = rand(0,9);
    $rand_nick = "익명_".$nick_alp1.$nick_alp2.$nick_num1.$nick_num2.$nick_num3;
    
    if ($w=="") {
        $sql_nick  = " update {$write_table} set wr_name = '{$rand_nick}' where wr_id = '{$wr_id}' ";
        sql_query($sql_nick);
    } elseif (substr($wr_name)!="익명"){
        $sql_nick  = " update {$write_table} set wr_name = '{$rand_nick}' where wr_id = '{$wr_id}' ";
        sql_query($sql_nick);
    }
}
?>


2. skin / board / basic / write_comment_update.skin.php  파일이 없으면 생성
<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가 

// 익명으로 이름을 저장하기
if ($is_admin!="super") {
    $alp_rand  = rand(65,90);
    $alp_rand2 = rand(97,122);
    $nick_alp1 = chr($alp_rand);
    $nick_alp2 = chr($alp_rand2);
    $nick_num1 = rand(1,9);
    $nick_num2 = rand(0,9);
    $nick_num3 = rand(0,9);
    $rand_nick = "익명_".$nick_alp1.$nick_alp2.$nick_num1.$nick_num2.$nick_num3;
    
    if ($w=="c") {
        $sql_nick  = " update {$write_table} set wr_name = '{$rand_nick}' where wr_id = '{$comment_id}' ";
        sql_query($sql_nick);
    } elseif (substr($wr_name)!="익명"){
        $sql_nick  = " update {$write_table} set wr_name = '{$rand_nick}' where wr_id = '{$comment_id}' ";
        sql_query($sql_nick);
    }
}
?>


3. skin / board / basic / list.skin.php
글쓴이 사이드뷰 는 최고관리자만 사용하기 위해서

<?php echo $list[$i]['name'] ?>
를 아래와 같이 변경
<?php
$sql_member = " select * from {$g5['member_table']} where mb_id='{$view['mb_id']}'";
$row_member = sql_fetch_array(sql_query($sql_member));
if ($is_admin) {
    echo $row_member['mb_nick']; // 원래 회원이름
    echo "<br>";
    echo $list[$i]['name'];  // 사이드뷰는 관리자만
} else {
    echo $list[$i]['wr_name']; // 익명이름
}
?>


4. skin / board / basic / view.skin.php
글쓴이 사이드뷰 는 최고관리자만 사용하기 위해서

<?php echo $view['name'] ?>
를 아래와 같이 변경
<?php
$sql_member = " select * from {$g5['member_table']} where mb_id='{$view['mb_id']}'";
$row_member = sql_fetch_array(sql_query($sql_member));
if ($is_admin) {
    echo $row_member['mb_nick']."&nbsp;"; // 원래 회원이름
    echo $view['name']."&nbsp;"; // 사이드뷰는 관리자만
} else {
    echo $view['wr_name']; // 익명이름
}
?>


5. skin / board / basic / view_comment.skin.php
글쓴이 사이드뷰 는 최고관리자만 사용하기 위해서

<?php echo $list[$i]['name'] ?>
를 아래와 같이 변경
<?php
$sql_member = " select * from {$g5['member_table']} where mb_id='{$list[$i]['mb_id']}'";
$row_member = sql_fetch_array(sql_query($sql_member));
if ($is_admin) {
   echo $row_member['mb_nick']."<br>"; // 원래 회원이름
   echo $list[$i]['name'];  // 사이드뷰
   echo "&nbsp;";
} else {
    if ($row_member['mb_nick']==$list[$i]['wr_name']) {
        $alp_rand  = rand(65,90);
        $alp_rand2 = rand(97,122);
        $nick_alp1 = chr($alp_rand);
        $nick_alp2 = chr($alp_rand2);
        $nick_num1 = rand(1,9);
        $nick_num2 = rand(0,9);
        $nick_num3 = rand(0,9);
        echo $rand_nick = "익명_".$nick_alp1.$nick_alp2.$nick_num1.$nick_num2.$nick_num3;
    } else {
        echo $list[$i]['wr_name'];
    }
   echo "&nbsp;";
}
?>

댓글 작성

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

로그인하기

댓글 7개

글작성시 익명 체크해서 익명으로 할지 회원으로 할지 추가해놓으면 최고기능일꺼같네요!
오오... 굳아이디어 입니다.
게시판에 익명이름 필드 (ex. wr_hidden_name) 추가하고
글쓰기, 댓글쓰기할때 익명이름이 있으면 익명으로 보이기 하면 되겠네요.
아... 근데 정리하려니 귀차니즘이 마구 몰려와서리 ㅋㅋ
수고하셨습니다. 오늘도 많이 배우고 있습니다. 감사합니다.
아미나에서 쓸수있나요?
아미나에는 관련해서 기능이 마련되어 있을껍니다.
그것을 이용하는것이 편리할듯요.
굳이 적용하면 안될것도 없겠지요
감사합니다!
4년 전
감사합니다!

게시글 목록

번호 제목
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