닉네임 변경 이력 질문드려요~~

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
닉네임 변경 이력 질문드려요~~

QA

닉네임 변경 이력 질문드려요~~

본문

https://sir.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=17568

izen 님이 쓰셨던 글을 보고 하고 있는데요

 

CREATE TABLE g5_nick_career (

  gmc_id int(11) NOT NULL auto_increment,

  mb_id varchar(20) NOT NULL default '',

  gmc_nick varchar(100) NOT NULL default '',

  gmc_w_id varchar(20) NOT NULL default '',

  gmc_datetime datetime NOT NULL default '0001-10-01 00:00:00',

  gmc_ip varchar(255) NOT NULL default '',

  PRIMARY KEY  (gmc_id`,`mb_id`)

);

길이 어쩌구랑 데이트타입의 디폴트 값이 잘못 되었다고 테이블이 안맹그러 지길래 위처럼 수정 해서

myadmin 에서 그냥 sql 로 맹그렀구요

 

 

 

bbs/career.php 를 만들어서 아래의 내용을 추가 했구요

<?
include_once("./_common.php");

if (!$member['mb_id'])
{
alert_close("회원만 이용하실 수 있습니다.");
}

if (!$member['mb_open'] && $is_admin != "super" && $member['mb_id'] != $mb_id)
{
alert_close("자신의 정보를 공개하지 않으면 다른분의 정보를 조회할 수 없습니다.\\n\\n정보공개 설정은 회원정보수정에서 하실 수 있습니다.");
}

$mb = get_member($mb_id);

if (!$mb['mb_id'])
{
alert_close("회원정보가 존재하지 않습니다.\\n\\n탈퇴하였을 수 있습니다.");
}

if (!$mb['mb_open'] && $is_admin != "super" && $member['mb_id'] != $mb_id)
{
alert_close("정보공개를 하지 않았습니다.");
}

$g5['title'] = $mb['mb_nick'] . "님의 이력보기";
include_once(G5_THEME_PATH."/head.sub.php");

$career = " select count(*) as cnt from g5_nick_career where mb_id = '$mb[mb_id]' ";
$cot = sql_fetch($career);
$total_count = number_format($cot['cnt']);
?>
<? if ($total_count > 0) { ?>
<div style="clear:both; text-align:right; padding:5 5 0 0;"><?=$total_count?>회 변경</div>
<? } ?>
<div style="clear:both; padding:5;">
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr height="28" bgcolor="#D1D1D1" align="center">
<td width="120"><strong>아이디</strong></td>
<td width="150"><strong>닉네임</strong></td>
<td><strong>변경일자</strong></td>
</tr>
<tr><td height="1" colspan="3" bgcolor="#FFFFFF"></td></tr>
<tr><td height="1" colspan="3" bgcolor="#858585"></td></tr>
<?
$sql = " select * from g5_nick_career where mb_id = '$mb[mb_id]' order by gmc_id desc ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++)
{
echo "<tr height=\"26\" align=\"center\">";
echo "<td width=\"120\">";
if ($i == 0) { echo "<span style=\"color:#FF3333;\">></span>  "; }
echo "$row[mb_id]</td>";
echo "<td width=\"150\">$row[gmc_nick]</td>";
echo "<td>$row[gmc_datetime]</td>";
echo "</tr>\n";
echo "<tr><td colspan=\"3\" height=\"1\" bgcolor=\"#e1e1e1\"></td></tr>\n";
}
if ($total_count == 0)
{
echo "<tr><td height=\"100\" colspan=\"3\" align=\"center\">닉을 변경한 내역이 없습니다.</td></tr>";
echo "<tr><td colspan=\"3\" height=\"1\" bgcolor=\"#e1e1e1\"></td></tr>";
}
?>
<tr><td height="30" colspan="3" align="center"><a href="javascript:window.close();">닫기</a></td></tr>
</table>
</div>
<?
include_once(G5_THEME_PATH."/tail.sub.php");
?>

 

 

member/basic/register_update.skin.php 만들고 아래의 내용을 추가

 

<?
if (!defined("_GNUBOARD_")) exit;

#닉네임 변경이력 출력을 위해서...
if ($w == "")
{
$sql = " insert into `g5_nick_career`
set mb_id       = '$_POST[mb_id]',
gmc_nick     = '$mb_nick',
gmc_w_id     = '$_POST[mb_id]',
gmc_datetime = '$g5[time_ymdhis]',
gmc_ip       = '$_SERVER[REMOTE_ADDR]' ";
sql_query($sql);
} else if ($w == "u") {
$sql = " update `g5_nick_career`
set mb_id       = '$_POST[mb_id]',
gmc_nick     = '$mb_nick',
gmc_w_id     = '$_POST[mb_id]',
gmc_datetime = '$g5[time_ymdhis]',
gmc_ip       = '$_SERVER[REMOTE_ADDR]' ";
sql_query($sql);
}
?>

 

 

outlogin.skin.2.php 요기에

이걸 추가해 

<a href="<?php echo G5_BBS_URL ?>/career.php?mb_id='<?php echo $member['mb_id']?>' ">변경이력</a>

내역을 확인 해보려고 하는데 입력 자체가 안되더라구요

 

정보수정에서 닉네임을 변경을 해도 안되고 myadmin 에서 sql 로 넣어도 정보가 안들어가지던데

어디가 틀린지 말씀 해주실수 있나요??


 

이 질문에 댓글 쓰기 :

답변 2

PRIMARY KEY  (`gmc_id`,`mb_id`)

여기 백틱 하나 빠진 것 같네요.

두가지문제가 의심되네요

 

첫째로

insert 나 update 를 실행하는 입력 조건인 if ($w == "") 또는 if ($w == "u") 가

제대로 분기가 안되서 아예 sql_query($sql); 이쪽까지 도달 못했을 수도 있으니 확인해 보셔야 할듯 해요.

 

둘째로 쿼리문을 아래와 같은 형식으로 변경해 보세요.

$sql = " insert into `g5_nick_career`
set mb_id       = '{$_POST[mb_id]}',
gmc_nick     = '$mb_nick',
gmc_w_id     = '{$_POST[mb_id]}',
gmc_datetime = '{$g5[time_ymdhis]}',
gmc_ip       = '{$_SERVER[REMOTE_ADDR]}' ";

 

답변을 작성하시기 전에 로그인 해주세요.
전체 1
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT