회원정보수정시 등급상향설정?

안녕하세요.
 
저는 최근 회원제를 보강하려고 합니다.
그래서 모든 게시판의 글쓰기권한등급을 한단계상향조정했습니다.
 
그동안 회원가입시 실명과 이메일주소만 받았는데
이제 몇가지 더 받으려고 합니다.
그래서 좀더 엄격한 회원가입절차를 통과한 신입회원은 한등급 높은 등급을 부여했습니다.
 
그런데 문제는 과거회원입니다. 과거회원이 회원정보수정을 하도록 하고
정보를 수정했을 때 자동으로 회원등급을 상향조정시켜주고 싶습니다.
 
현재 회원가입시에는 회원등급을 설정할수 있도록 되어 있으나
회원정보수정시에는 등급설정기능이 없어서 이렇게 도움을 청합니다.
 
어떻게 하면 되겠습니까?
 
읽어주셔서 감사합니다.
 
 
|

댓글 8개

아무래도 스킨에서 수정을 하셔야 할듯 싶네요
저 같은 경우는 register_update.skin.php 에서

회원정보 수정일때 조건이 맞으면
쿼리로 직접 업데이트 하는 방법을 씁니다.
skin/member/basic/register_form.skin.php 의 114라인 에 붙여 넣으십시요.


<TR bgcolor="#FFFFFF">
<TD width="160" class=m_title>이름</TD>
<TD class=m_padding>
<!-- 한글만 입력받을 경우 <INPUT name=mb_name itemname="이름" required minlength="2" nospace hangul value="<?=$member[mb_name]?>" <?=$member[mb_name]?"readonly class=m_text2":"class=m_text";?>> -->
<INPUT name=mb_name itemname="이름" required minlength="2" nospace value="<?=$member[mb_name]?>" <?=$member[mb_name]?"readonly class=m_text2":"class=m_text";?>>


<?
##########################################################
# 회원의 특정 필드가 U1 이 아닐때만 회원 등급을 1단계 올립니다.
# 114라인 skin/member/basic/register_form.skin.php 의 114라인 에 붙여 넣으십시요.
##########################################################
// 회원권한을 SELECT 형식으로 얻음
// adm/admin.lib.php 파일에 있는 함수임.
function get_member_level_select($name, $start_id=0, $end_id=10, $selected='', $event='')
{
global $g4;
$str = "<select name='$name' $event>";
for ($i=$start_id; $i<=$end_id; $i++)
{
$str .= "<option value='$i'";
if($i == $selected)
$str .= " selected";
$str .= ">$i</option>";
}
$str .= "</select>";
return $str;
}
?>

<?
if(!$is_admin == 'super'|| !$is_admin == 'group')
{##########################################################
echo"<b> 현재레벨:<font color='blue'> {$member[mb_level]}</font> 입니다.</b><br>";
if($member[mb_10] =="U1"){
echo"<font color='green'><b>※ 이미 1단계 상향되셨습니다.</b></font><br>";
echo"<input type=hidden name=mb_10 itemname='업데이트' value='{$member[mb_10]}'>";
}
if($member[mb_10] !="U1"){
echo"<font color='red'><b>※ 회원 수정시 1단계 등급이 상향조정됩니다.</b></font><br>";
$up_level=$member[mb_level];
$up_level=$up_level+1;
?>
<?=get_member_level_select("mb_level",$up_level,$up_level,$up_level);?>
<input type=hidden name=mb_10 itemname="업데이트" value="U1">
<?}//업데이트가 안되었으면
###################################### 2006.07.14 dalsoo ######
}//관리자가 아니면
?>
</TD>
</TR>
신이z님, 오달수님 도움말을 주셔서 감사합니다. 오달수님의 드높은 내공은 익히 알고 있거니와 님의 처방을 쓰게 되어 영광입니다. 그런데 오달수님의 처방을 시행해 본 결과 약간 손볼 구석이 있지 않나 싶습니다. 회원정보수정후 실제 등급이 업데이트되지 않으면서 업데이트되었다고 나오거든요. 두번째로 회원정보수정을 시도하면 이미 등급이 상향조정되었다고 나옵니다. 이 부분은 매우 만족스럽고 전체적인 로직은 훌륭하게 작동하는 것같습니다. 단지 등급이 실제 상향조정되지 않는 것만 빼고는요.
저도 테스트 해보니 레벨 상향 조절이 안되는 군요. ^^
달수님 A/S 가뭄에 단비 기둘리는 심정은 ............
이런...
처음만 읽고...잘되는 줄로만 착각을 -.-;;;
뭔 리플이 늘어서 보았더니..
죄송하게 되었습니다.
관리자만 레벨업을 하게되어서 그 부분이 빠졌군요.

이렇게 해주시고

(중략)
.
.

<?
if(!$is_admin == 'super'|| !$is_admin == 'group')
{##########################################################
echo"<b> 현재레벨:<font color='blue'> {$member[mb_level]}</font> 입니다.</b><br>";
if($member[mb_10] =="U1"){
echo"<font color='green'><b>※ 이미 1단계 상향되셨습니다.</b></font><br>";
echo"<input type=hidden name=mb_10 itemname='업데이트' value='{$member[mb_10]}'>";
echo"<input type=hidden name=mb_level itemname='업데이트' value='{$member[mb_level]}'>";
}
if($member[mb_10] !="U1"){
echo"<font color='red'><b>※ 회원 수정시 1단계 등급이 상향조정됩니다.</b></font><br>";
$up_level=$member[mb_level];
$up_level=$up_level+1;
?>
<?=get_member_level_select("mb_level",$up_level,$up_level,$up_level);?>
<input type=hidden name=mb_10 itemname="업데이트" value="U1">
<?}//업데이트가 안되었으면
###################################### 2006.07.14 dalsoo ######
}//관리자가 아니면
//※ register_update.skin.php 에서 업데이트가 이루어짐.
?>
</TD>
</TR>







register_update.skin.php 에 아래 두줄을 써주시면 될것입니다.


/* 특정필드 wr_10 이U1 아닐때 일때 1레벨업수정*/
$sql2 = " update $g4[member_table] set mb_level = '$mb_level' where mb_id= '$member[mb_id]'";
sql_query($sql2);
오달수님 훌륭하게 작동합니다. 감사합니다.
이제야 봤습니다 ^^ 고맙습니다.
댓글을 작성하시려면 로그인이 필요합니다.

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기 기존 게시물은 열람만 가능합니다.

+
제목 글쓴이 날짜 조회
19년 전 조회 1,185
19년 전 조회 1,524
19년 전 조회 1,496
19년 전 조회 1,519
19년 전 조회 2,400
19년 전 조회 1,836
19년 전 조회 1,521
19년 전 조회 1,606
19년 전 조회 1,226
19년 전 조회 1,533
19년 전 조회 1,498
19년 전 조회 1,515
19년 전 조회 1,523
19년 전 조회 1,533
19년 전 조회 1,601
19년 전 조회 1,298
19년 전 조회 1,537
19년 전 조회 1,145
19년 전 조회 1,016
19년 전 조회 1,278