관리자가 글 대신 작성후 mb_id 변경하는 법
본문
G5 게시판을 폼으로 만들어 온라인신청을 받는중인데요.
신청서 작성 후 자신이 작성한 내역을 확인하기 위해 현재 로그인한 아이디로 작성한 게시물만
볼수 있게 적용해 놓았습니다.
문제는 오프라인으로 받은 신청서 등은 종종 관리자가 대신 등록을 해주는 경우가 있어서요.
작성을 하고나서 아이디 변경이 필요하면 DB에서 아래 쿼리를 직접 적용해 주고 있는데요.
(Ex,관리자가 작성한 글을 'kkk'가 작성한 것으로 아이디변경)
UPDATE `g5_write_apply` SET `mb_id` = 'kkk' WHERE `g5_write_apply`.`wr_id` = 3;
게시글 작성 및 수정에서 관리자가 위의 쿼리를 실행한 것과 동일하게 작성자 ID (mb_id)를
변경할수 있게 하려면 어떻게 하면 될까요?
답변 2
우선 수정폼에서 input 태그를 하나 넣으시구요
<input type="text" name="mb_id_change" value="">
해당 게시판 스킨 경로에 write_update.skin.php 파일을 생성 후
<?php
/* write_update.skin.php */
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
$sql = " update $write_table set mb_id = '$mb_id_change' where wr_id = '$wr_id' " ;
sql_query($sql);
?>
대략 이런식으로 동작하면 될거같은데요?
테스트는 해보지 않았지만, 단순히 생각해서
아래와 같은 방식으로 관리자 로그인이면?
직접 아이디값을 받는 인풋을 가지고, 등록시 인풋의 값이 있는지 없는지 판단하여
아이디를 분기하여 넣어주는 방식?....맞는지는 모르것네요
write.skin.php
<?php if ($is_admin) { ?>
<div class="write_div">
<label for="wr_id_chg" class="sound_only">작성자아이디<strong>필수</strong></label>
<input type="text" name="wr_id_chg" value="" id="wr_id_chg" required class="frm_input full_input required" maxlength="20" placeholder="작성자아이디">
</div>
<?php } ?>
bbs > write_update.php
//직접입력한 아이디가 있으면?
if($_POST['wr_id_chg']) {
$wr_id_chg = $_POST['wr_id_chg']; //직접입력한 아이디
} else {
$wr_id_chg = $member['mb_id']; //실제작성 아이디
}
$sql = " insert into $write_table
....생략
mb_id = '{$wr_id_chg}', // 이부분을 $wr_id_chg로 대체
답변을 작성하시기 전에 로그인 해주세요.