관리자가 게시글 글쓴이(id,작성자) 정보 변경하기 (2022-11-22 16:31) 정보
관리자가 게시글 글쓴이(id,작성자) 정보 변경하기 (2022-11-22 16:31)본문
[주] 이후 강좌수정내용의 업데이트가 안될수 있습니다.
본 강좌의 최신업데이트는 https://www.happyjung.com/lecture/1709 에서 확인가능합니다.
가급적 동일한 내용을 유지하려고 노력하지만, 우선 작업은 위 링크입니다.
회원을 대신해서 글을 작성해줘야하는 경우가 있습니다.
이때 해당 게시글을 요청한 회원이 직접 관리하도록 하려면, phpMyAdmin 등의 도움을 받아야만 가능하죠?
이것을 게시판에서 직접 제어하는 방법입니다.
2017-03-12 update_writer.php : 변경저장 할때 이름 --> 닉네임 저장되도록 수정
$row['mb_name'] 를 $row['mb_nick'] 으로 변경
2017-03-12 update_writer.php : 게시판 설정에서 이름 / 닉네임 확인후 업데이트 되도록 변경
2017-03-26 update_writer.php : 로직 개선
2021-03-03 쿼리 수정
2021-06-26 update_id.php 수정
2022-11-22 update_id.php 2줄, 26줄 문법 오류 수정
1. 그누보드5 / skin / board / 스킨 / view.skin.php 의 적절한 위치에 아래 코드를 추가합니다.
<?php if($is_admin) { ?>
<div class="tbl_frm01 tbl_wrap">
<table>
<tbody>
<form name="update_id" action="<?php echo $board_skin_url; ?>/update_id.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
include_once('../../../common.php'); // 그누보드5 /skin/board/스킨/_common.php 일때
//include_once('../../../../../common.php'); // 그누보드5/theme/테마/skin/board/스킨/_common.php 일때
?>
3. 그누보드5 / skin / board / 스킨 / update_id.php 파일생성
<?php
include_once("./_common.php");
if($is_admin) {
$write_table = $g5['write_prefix'].$_POST['bo_table'];
$wr_id = $_POST['wr_id'];
$mb_id = $_POST['mb_id'];
$sql = "select * from `{$g5['member_table']}` where mb_id='{$mb_id}' ";
$qry = sql_query($sql);
$row = sql_fetch_array($qry);
if ($row['mb_id']) {
if ($board['bo_use_name']==='1') { // 실명 사용시
$wr_name = $row['mb_name'];
} else {
$wr_name = $row['mb_nick'];
}
sql_query("
update `{$write_table}` set
mb_id = '{$mb_id}',
wr_name = '{$wr_name}',
wr_email = '{$row['mb_email']}',
wr_homepage = '{$row['mb_homepage']}'
where wr_id = '{$wr_id}'
");
}
}
?>
<script>
location.href="<?php echo $_POST['REQUEST_URI']; ?>" ;
</script>
그누보드4용 : http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=33797
1
댓글 15개
The requested URL /skin/board/test/update_writer.php was not found on this server. 없다고 나오는 이유가 뭘까요?
update_write라고 생각했지
update_writer일줄은 몰랐습니다.
그누보드5.3.3.3 아미나조합인데 변경된점이 있을까요?
<input type="hidden" name="bo_table" value="<?php echo $g5['write_prefix'] . $bo_table; ?>">
이곳에서 <?php echo $g5['write_prefix'] . 삭제해서 $bo_table만 사용해보세요