i

회원 닉네임 이력보기

· 2008-12-02 (화) 16:11:03 · 4477 · 5
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개

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

그누4 팁자료실

3,309건

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

+
제목 글쓴이 날짜 조회
08-12-10 조회 2.1만
08-01-06 조회 7,750
07-11-28 조회 6,672
08-12-09 조회 3,990
08-12-07 조회 3,672
08-12-07 조회 4,242
08-12-06 조회 2,286
08-12-05 조회 9,005
08-12-03 조회 5,796
08-12-02 조회 4,478
08-12-02 조회 3,074
08-12-01 조회 2,409
08-11-27 조회 5,343
08-11-25 조회 4,218
08-11-24 조회 3,459
08-11-21 조회 6,050
08-11-20 조회 1.6만
08-11-18 조회 4,269
08-11-15 조회 5,033
08-11-14 조회 3,868