관리자 페이지에서 닉네임 일괄변경 채택완료
http://sir.kr/g5_tip/1939">http://sir.kr/g5_tip/1939 자료를 가지고 관리자페이지에서 닉네임을 변경하는 것을 구현했습니다~
참잘되서 감사합니다. 그런데 변경된 부분에서 실제 회원의 닉네임은 변경이 되지를 않더라구요~
관리자/회원관리/수정에 들어가서 닉네임을 변경하면 게시물의 닉네임은 변경이 되지 않구요~
아래 닉네임 변경 소스를 에서
<?
$sub_menu = "400301";
include_once("./_common.php");
auth_check($auth[$sub_menu], 'r');
$token = get_token();
$g5[title] = "게시판닉네임바꾸기";
include_once('./admin.head.php');
if($w == 'u'){
$sql = " select bo_table from $g5[board_table] order by gr_id, bo_table ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {
sql_query("update g5_write_$row[bo_table] set wr_name='$_POST[name_up]' where wr_name = '$_POST[name_ori]' ");
}
alert("닉네임이 변경 되었습니다", $_SERVER['PHP_SELF']);
}
?>
<div class="local_sch01 local_sch">
모든 게시판에 적용됩니다. 잘못 입력시 당황하지 말고 다시 변경해 주시면 됩니다<BR><BR>
<form method=post action="<?=$_SERVER['PHP_SELF'];?>?w=u">
기존 별명
<input type="text" name="name_ori" required class="required frm_input">
바꿀 별명
<input type="text" name="name_up" required class="required frm_input">
<input type="submit" value="실행" class="btn_submit">
</form>
</div>
<?
include_once('./admin.tail.php');
?>
for ($i=0; $row=sql_fetch_array($result); $i++) {
sql_query("update g5_write_$row[bo_table] set wr_name='$_POST[name_up]' where wr_name = '$_POST[name_ori]' ");
}
부분을
for ($i=0; $row=sql_fetch_array($result); $i++) {
sql_query("update g5_write_$row[bo_table] set wr_name='$_POST[name_up]' where wr_name = '$_POST[name_ori]','$_POST[mb_nick]' ");
}
로 추가해보았는데~ 안되더라구요~ 다르게 넣어야 하는건가요?
답변 1개
게시물에 대한 닉네임은 따로 게시판 테이블에서 변경 해줘야 합니다.
update 해당게시물테이블 set wr_name = ('변경할닉네임') where mb_id = '대상아이디'
답변에 대한 댓글 3개
sql_query("update g5_member set mb_nick='$_POST[mb_nick]' where mb_id = '$_POST[mb_id]' ");
약간 수정했으며
for문 없이 단일쿼리로 처리 하면 모두 변경 처리 될것 같네요..
$sub_menu = "400301";
include_once("./_common.php");
auth_check($auth[$sub_menu], 'r');
$token = get_token();
$g5[title] = "게시판닉네임바꾸기";
include_once('./admin.head.php');
if($w == 'u'){
$sql = " select bo_table from $g5[board_table] order by gr_id, bo_table ";
$result = sql_query($sql);
//for ($i=0; $row=sql_fetch_array($result); $i++) {
//sql_query("update g5_write_$row[bo_table] set wr_name='$_POST[name_up]' where wr_name = '$_POST[name_ori]' ");
//sql_query("update g5_member set wr_name='$_POST[mb_nick]' where mb_id = '$_POST[mb_id]' ");
sql_query("update g5_write_$row[bo_table] set wr_name='$_POST[name_up]' where mb_id = '$_POST[mb_id]' ");
sql_query("update g5_member set mb_nick='$_POST[mb_nick]' where mb_id = '$_POST[mb_id]' ");
// update 해당게시물테이블 set wr_name = ('변경할닉네임') where mb_id = '대상아이디'
//}
alert("닉네임이 변경 되었습니다", $_SERVER['PHP_SELF']);
}
?>
<div class="local_sch01 local_sch">
모든 게시판에 적용됩니다. 잘못 입력시 당황하지 말고 다시 변경해 주시면 됩니다<BR><BR>
<form method=post action="<?=$_SERVER['PHP_SELF'];?>?w=u">
기존 별명
<input type="text" name="name_ori" required class="required frm_input">
바꿀 별명
<input type="text" name="name_up" required class="required frm_input">
<input type="submit" value="실행" class="btn_submit">
</form>
</div>
<?
include_once('./admin.tail.php');
?>
해서 주석 처리 해봤는데요~ 둘다 바뀌지를 않습니다~
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
주신 내용을 가지고
for ($i=0; $row=sql_fetch_array($result); $i++) {
sql_query("update g5_write_$row[bo_table] set wr_name='$_POST[name_up]' where wr_name = '$_POST[name_ori]' ");
sql_query("update g5_member set wr_name='$_POST[mb_nick]' where mb_id = '$_POST[mb_id]' ");
해서 해봤는데요~ 안되던데~ 어디를 손보면 자동할까요`?