[수정]회원 포인트에 따라 권한 자동으로 올리기
기존에 팁은 관리자 로그인시 권한 하락하는 경우가 있어 수정하고 간단하게 소스 정리 했습니다
/lib/common.lib.php 929번 라인
// 포인트 UPDATE
$sql = " update {$g5['member_table']} set mb_point = '$po_mb_point' where mb_id = '$mb_id' ";
sql_query($sql);
아래에 추가
// 포인트에 따라 권한 자동 올리기
$mb_level = sql_fetch(" select mb_level from {$g5['member_table']} where mb_id = '$mb_id' ");
if($mb_level['mb_level'] < 10){
if($po_mb_point <= 2000){ //2000 포인트 이하면 권한 2
$level_up = 2;
}elseif($po_mb_point <= 3000){
$level_up = 3;
}elseif($po_mb_point <= 4000){
$level_up = 4;
}elseif($po_mb_point <= 5000){
$level_up = 5;
}elseif($po_mb_point <= 6000){
$level_up = 6;
}elseif($po_mb_point <= 7000){
$level_up = 7;
}elseif($po_mb_point <= 8000){
$level_up = 8;
}elseif($po_mb_point <= 9000){
$level_up = 9;
}
sql_query(" update {$g5['member_table']} set mb_level = '$level_up' where mb_id = '$mb_id' ");
}
이렇게 추가해 주세요
/lib/common.lib.php 929번 라인
// 포인트 UPDATE
$sql = " update {$g5['member_table']} set mb_point = '$po_mb_point' where mb_id = '$mb_id' ";
sql_query($sql);
아래에 추가
// 포인트에 따라 권한 자동 올리기
$mb_level = sql_fetch(" select mb_level from {$g5['member_table']} where mb_id = '$mb_id' ");
if($mb_level['mb_level'] < 10){
if($po_mb_point <= 2000){ //2000 포인트 이하면 권한 2
$level_up = 2;
}elseif($po_mb_point <= 3000){
$level_up = 3;
}elseif($po_mb_point <= 4000){
$level_up = 4;
}elseif($po_mb_point <= 5000){
$level_up = 5;
}elseif($po_mb_point <= 6000){
$level_up = 6;
}elseif($po_mb_point <= 7000){
$level_up = 7;
}elseif($po_mb_point <= 8000){
$level_up = 8;
}elseif($po_mb_point <= 9000){
$level_up = 9;
}
sql_query(" update {$g5['member_table']} set mb_level = '$level_up' where mb_id = '$mb_id' ");
}
이렇게 추가해 주세요
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기
댓글 16개
요부분을 아래처럼만수정하면 되는건가요? 기존것 다운필요없이요?
기존 파일은 백업하셔도 되구요
[code]
// 포인트 UPDATE
$sql = " update {$g5['member_table']} set mb_point = '$po_mb_point' where mb_id = '$mb_id' ";
sql_query($sql);
// 포인트에 따라 권한 자동 올리기
$mb_level = sql_fetch(" select mb_level from {$g5['member_table']} where mb_id = '$mb_id' ");
if($mb_level['mb_level'] < 10){
if($po_mb_point <= 1300){ //2000 포인트 이하면 권한 2
$level_up = 2;
}elseif($po_mb_point <= 1500){
$level_up = 3;
}elseif($po_mb_point <= 4000){
$level_up = 4;
}elseif($po_mb_point <= 5000){
$level_up = 5;
}elseif($po_mb_point <= 6000){
$level_up = 6;
}elseif($po_mb_point <= 7000){
$level_up = 7;
}elseif($po_mb_point <= 8000){
$level_up = 8;
}elseif($po_mb_point <= 9000){
$level_up = 9;
}
sql_query(" update {$g5['member_table']} set mb_level = '$level_up' where mb_id = '$mb_id' ");
}
[/code]
적용해봣는데..전왜 안되는걸까요 ?..현재 최신버전인데..
포인트가 그 이상이면 자동으로 레벨이 올라가는게 아닌가요 ?
레벨이 10이면 적용이 안되요
회원 추가해서 일반회원으로 테스트 해보세요
저 소스 테스트해서 확인했습니다
글쓰기나 기타 포인트 충족시에도 레벨업 되구요
기존 소스는 관리자도 레벨이 변경되어 버리고, 희한하게 자동으로 레벨변경이 되지 않던데
이번 소스는 살짝 바꾸니 입맛대로 포인트에 따라 자동변경이 가능하네요...
로그인을 새로 하거나, 댓글 하나 입력하는등, 포인트가 일단 발생이 되는 상황에서 바로 쿼리가 작동을 해서 레벨을 변경시켜 주는 군요.
감사합니다.
입맛대로 변경하셔서 잘 적용하시면 되요
그 회원들만 제외시키고 적용해야 되요