G5에서 닉네임 이력보기 사용하고싶어요
본문
g4 팁에서 찾은것인데 회원 닉네임 이력보기입니다
제가 G5에서 적용해보려고했는데 초보자라서 버겁네요
잠시 여유있으신분들 부탁드려요~
-------------------------------------------------------------------------------------
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에서 테스트 해봤습니다.
답변 1
http://sir.co.kr/qa/?wr_id=57113
http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=17568
참고하세요
답변을 작성하시기 전에 로그인 해주세요.