i

회원 닉네임 이력보기

PHP 스쿨에 보니 회원 닉네임 변경에 대한 이력보기 기능이 있더군요.
SIR의 경우도 회원정보 변경이 잦은 회원들도 많은것 같아 불편했는데 괜찮은 기능같아 잠깐 만들어 봤습니다.
관리자 페이지에서의 작업은 참조하셔서 직접 하셔야 되겠습니다.

테이블 작업
$sql = " CREATE TABLE `g4_nick_career` (
  `gmc_id` int(11) NOT NULL auto_increment,
  `mb_id` varchar(255) NOT NULL default '',
  `gmc_nick` varchar(255) NOT NULL default '',
  `gmc_w_id` varchar(255) NOT NULL default '',
  `gmc_datetime` datetime NOT NULL default '0000-00-00 00:00:00',
  `gmc_ip` varchar(255) NOT NULL default '',
  PRIMARY KEY  (`gmc_id`,`mb_id`)
) ";
sql_query($sql, false);

gmc_w_id
이 항목은 관리자 페이지에서 해당회원의 닉 변경시 수정한 관리자의 아이디를 저장하도록 했습니다.

./skin/member/register_update.skin.php
<?
if (!defined("_GNUBOARD_")) exit;

#닉네임 변경이력 출력을 위해서...
if ($w == "")
{
$sql = " insert into `g4_nick_career`
set mb_id       = '$_POST[mb_id]',
gmc_nick     = '$mb_nick',
gmc_w_id     = '$_POST[mb_id]',
gmc_datetime = '$g4[time_ymdhis]',
gmc_ip       = '$_SERVER[REMOTE_ADDR]' ";
sql_query($sql);
} else if ($w == "u") {
$sql = " update `g4_nick_career`
set mb_id       = '$_POST[mb_id]',
gmc_nick     = '$mb_nick',
gmc_w_id     = '$_POST[mb_id]',
gmc_datetime = '$g4[time_ymdhis]',
gmc_ip       = '$_SERVER[REMOTE_ADDR]' ";
sql_query($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("정보공개를 하지 않았습니다.");
}

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

$career = " select count(*) as cnt from g4_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 g4_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("$g4[path]/tail.sub.php");
?>


./js/sideview.js

// 닉이력 적당한 위치에 추가
if (mb_id) 
  this.insertTail("career", "<a href=\"javascript:win_career('"+mb_id+"');\">회원이력보기</a>");

48라인과 54라인 function 부분
, career 추가


./common.js

// 닉이력 적당한 위치에 추가
function win_career(mb_id)
{
  win_open(g4_path+"/" + g4_bbs + "/career.php?mb_id="+mb_id, 'winCareer', 'left=50,top=50,width=500,height=400,scrollbars=1');
}

잠깐 만져보니 잘되고 있는것 같은데 혹 에러가 있을지는...
IE6과 크롬 그리고 FIREFOX3에서 테스트 해봤습니다.
|

댓글 5개

좋은 팁이네요^^
감사합니다.
스크랩 해놓고 나중에 적용해봐야겠습니다.^^
디자인이 없어 죄송합니다.
늘 디자이너가 부럽기만 하네요.
ㅎㅎ
웹사이트 적용보단,,어떤것인가하구선 저도 함 적용해봐야겠습니다.^^
감사합니다,
유용하게 잘 쓸게요 ^^
댓글을 작성하시려면 로그인이 필요합니다.

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요. 나누면 즐거움이 커집니다.

+
제목 글쓴이 날짜 조회
17년 전 조회 2만
18년 전 조회 7,593
18년 전 조회 6,514
17년 전 조회 3,814
17년 전 조회 3,511
17년 전 조회 4,084
17년 전 조회 2,152
17년 전 조회 8,849
17년 전 조회 5,623
17년 전 조회 4,333
17년 전 조회 2,907
17년 전 조회 2,280
17년 전 조회 5,195
17년 전 조회 4,081
17년 전 조회 3,315
17년 전 조회 5,875
17년 전 조회 1.5만
17년 전 조회 4,128
17년 전 조회 4,886
17년 전 조회 3,735