레벨 자동등업시 문제점 문의드립니다. 정보
레벨 자동등업시 문제점 문의드립니다.본문
안녕하세요? 제글을 읽어주신 그누회원님들 감사의말씀올립니다.
제가 포인트에따른 자동등업으로 회원님들을 관리하는 중입니다.
그런데 문제점은 예를들어 3000점이되면 레벨이 3으로 등업이자동으로됩니다. 그런데 포인트 3000점이된후 로그아웃후
재로그인해야지 레벨이 3으로 등업되네요ㅠㅠ 바로 포인트 3000점이되면 로그아웃하지않아도 레벨이 3으로 자동등업
되게 할수없나요?
부탁드립니다. 도와주십쇼
제가 사용하는 소스는 아래와같습니다.
---------------------------------------------------------------------------
extend.php
<?
if (!defined("_GNUBOARD_")) exit; // 개별페이지 접근불가
if (!defined("_GNUBOARD_")) exit; // 개별페이지 접근불가
//== ★소스 삽입 시작 ==
//포인트기준 자동레벨업
function levelup_auto($mb_id,$mb_level,$mb_point) {
function levelup_auto($mb_id,$mb_level,$mb_point) {
global $config;
global $g4;
global $g4;
if ($config[cf_use_point] && $mb_id && $mb_level < 7 && $mb_point) {
if($mb_point <= 2999)
{$new_level = 2;}
else if($mb_point <= 4999)
{$new_level = 3;}
else if($mb_point <= 9999)
{$new_level = 4;}
else if($mb_point <= 29999)
{$new_level = 5;}
else if($mb_point >= 49999)
{$new_level = 6;}
if ($new_level && $mb_level != $new_level) {
// 레벨변경
mysql_query(" update $g4[member_table] set mb_level='$new_level' where mb_id='$mb_id' ");
// 포인트변경 (필요없으면 주석처리 하세요)
if ($mb_level > $new_level) {
$dw_ment = "레벨감소로 인한 위로금 100포인트를 지급했습니다.";
insert_point($mb_id, 100, "레벨감소로 인한 포인트 위로금", '', '', '');
}
// 쪽지발송 (필요없으면 주석처리 하세요)
$content ="포인트 {$mb_point}점으로 레벨이 {$mb_level}에서 {$new_level}으로 변경되었습니다. $dw_ment";
$tmp_row = mysql_fetch_array(mysql_query("select max(me_id) as max_me_id from $g4[memo_table]"));
$me_ids = $tmp_row[max_me_id] + 1;
mysql_query("insert into $g4[memo_table] (me_id,me_recv_mb_id,me_send_mb_id,me_send_datetime,me_read_datetime,me_memo) values ('$me_ids','$mb_id','$mb_id','$g4[time_ymdhis]','','$content')");
mysql_query("update $g4[member_table] set mb_memo_call='$mb_id' where mb_id='$mb_id'");
}
}
}
if($mb_point <= 2999)
{$new_level = 2;}
else if($mb_point <= 4999)
{$new_level = 3;}
else if($mb_point <= 9999)
{$new_level = 4;}
else if($mb_point <= 29999)
{$new_level = 5;}
else if($mb_point >= 49999)
{$new_level = 6;}
if ($new_level && $mb_level != $new_level) {
// 레벨변경
mysql_query(" update $g4[member_table] set mb_level='$new_level' where mb_id='$mb_id' ");
// 포인트변경 (필요없으면 주석처리 하세요)
if ($mb_level > $new_level) {
$dw_ment = "레벨감소로 인한 위로금 100포인트를 지급했습니다.";
insert_point($mb_id, 100, "레벨감소로 인한 포인트 위로금", '', '', '');
}
// 쪽지발송 (필요없으면 주석처리 하세요)
$content ="포인트 {$mb_point}점으로 레벨이 {$mb_level}에서 {$new_level}으로 변경되었습니다. $dw_ment";
$tmp_row = mysql_fetch_array(mysql_query("select max(me_id) as max_me_id from $g4[memo_table]"));
$me_ids = $tmp_row[max_me_id] + 1;
mysql_query("insert into $g4[memo_table] (me_id,me_recv_mb_id,me_send_mb_id,me_send_datetime,me_read_datetime,me_memo) values ('$me_ids','$mb_id','$mb_id','$g4[time_ymdhis]','','$content')");
mysql_query("update $g4[member_table] set mb_memo_call='$mb_id' where mb_id='$mb_id'");
}
}
}
//== ★소스 삽입 끝 ==
?>
?>
댓글 전체
levelup_auto 코드를 out login 스킨에서 호출하게 하면 어떨까요???
제가 초보라서 그런데 상세한 설명부탁드립니다. 포인트 바로쏘울게요 부탁드립니다 불당님..
/skin/outlogin/basic/outlogin.skin2.php의 적당한 곳에
<?=levelup_auto($member[mb_id], $member[mb_level], $member[mb_point])?> 를 추가해보세요.
테스트 해보진 안았지만 별일 없으면 될 겁니다.
<?=levelup_auto($member[mb_id], $member[mb_level], $member[mb_point])?> 를 추가해보세요.
테스트 해보진 안았지만 별일 없으면 될 겁니다.
불당님 감사드립니다^^ 문제 해결하였습니다.