티스토리 뷰

http://www.happyjung.com/lecture/1709

 

회원을 대신해서 글을 작성해줘야하는 경우가 있습니다. 
이때 해당 게시글을 요청한 회원이 직접 관리하도록 하려면, phpMyAdmin 등의 도움을 받아야만 가능하죠? 
이것을 게시판에서 직접 제어하는 방법입니다. 


2017-03-12  update_writer.php : 변경저장 할때 이름 --> 닉네임 저장되도록 수정  
                $row['mb_name'] 를 $orw['mb_nick'] 으로 변경 
2017-03-12  update_writer.php : 게시판 설정에서 이름 / 닉네임 확인후 업데이트 되도록 변경 
2017-03-26  update_writer.php : 로직 개선 


1. 그누보드5 / skin / board / 스킨 / view.skin.php  의 적절한 위치에 아래 코드를 추가합니다. 
        <?php if($is_admin == 'super') { ?> 
        <div class="tbl_frm01 tbl_wrap"> 
            <table> 
                <tbody> 
                <form name="update_id" action="<?php echo $board_skin_url; ?>/update_writer.php" method="post" style="padding:0; margin:0;"> 
                <input type="hidden" name="bo_table" value="<?php echo $g5['write_prefix'] . $bo_table; ?>"> 
                <input type="hidden" name="REQUEST_URI" value="<?php echo $_SERVER['REQUEST_URI']; ?>"> 
                <input type="hidden" name="wr_id" value="<?php echo $wr_id; ?>"> 
                <tr> 
                    <th scope="row">아이디 변경</th> 
                    <td><input type="text" name="mb_id" style="width:120px;" class="frm_input" value="<?php echo $view['mb_id']; ?>"></td> 
                    <th style="text-align:center;"><div class="btn_list"><input type="submit" value=" 저장 " class="btn_list"></div></th> 
                </tr> 
                </form> 
                </tbody> 
            </table> 
        </div> 
        <?php } ?> 


2. 그누보드5 / skin / board / 스킨 / _common.php  파일 생성 
<?php 
// 그누보드5 / skin / board / 스킨 / _common.php 일때 
include_once('../../../common.php'); 
// 그누보드5 / theme / 테마 / skin / board / 스킨 / _common.php 일때 
//include_once('../../../../../common.php'); 
?> 


3. 그누보드5 / skin / board / 스킨 / update_writer.php  파일생성 
<?php 
include_once "_common.php"; 

if($is_admin=='super') { 
    $g5_write = explode(G5_TABLE_PREFIX."write_",$_POST['bo_table']); 
    
    $sql = " select bo_use_name from ".$g5['board_table']." where bo_table = '".$g5_write[1]."' "; 
    $result_usename = sql_query($sql); 
    $result_usename2 = sql_fetch_array($result_usename); 
    $bo_usename = $result_usename2['bo_use_name']; 
    
    $sql = " select mb_name, mb_nick, mb_email, mb_homepage from ".$g5['member_table']." where mb_id = '".$_POST['mb_id']."' "; 
    $row = sql_fetch($sql); 
    
    if ($bo_use_name=="1") { $row_name = $row['mb_name']; } 
    else { $row_name = $row['mb_nick']; } 
    
    $sql = " update ".$_POST['bo_table']." set wr_name = '". $row_name ."', wr_email = '". $row['mb_email'] ."', wr_homepage = '". $row['mb_homepage'] ."', mb_id = '". $_POST['mb_id'] ."' where wr_id = '". $_POST['wr_id'] ."' "; 
    sql_query($sql); 
} 
?> 
<script> 
  location.href="<?php echo $_POST[REQUEST_URI]?>" ; 
</script> 

댓글