조건식 문의 드립니다.
본문
A 게시판을 볼수 있는 권한을 5등급 제한,
접근 가능 회원 등급을 5로 승급 후 mb_1를 이용, 5등급이 유지되는 기간을 적어 기간 이후 로그인하면 강제로 레벨을 다운 시켰습니다.
그리고 4등급만 볼 수 있는 게시판이 필요하여 필요회원의 권한을 4등급으로 승급, 회원여분 필드 mb_9에 4등급이 유지되는 기간을 입력하는데 가지는 성공 했는데요
기간이후 강제로 등급을 다운시킬려니 기존의 mb_1을 사용하는 회원이 아래코드에서 문제가 되네요^^;
두개의 mb_1과 mb_9필드를 함께 사용하기 위해서는 아래 코드를 어떻게 바꾸어야 하나요?
$A = strtotime($member['mb_1']);
$B =strtotime($member['mb_9']);
위와 같이 선언하고 $A > $B 또는 $A <$B 이렇게 해선 않될 것 같아 질문 드립니다.^^;
조건식을 어떻게 해야할지 몰라 질문 드립니다.
$now_time_ymd = strtotime(G5_TIME_YMD);
$end_time_ymd = strtotime($member['mb_1']);
$down_level = 3; // 기간이 지나면 다운시킬 레벨
if($member['mb_1']) {
if ($now_time_ymd > $end_time_ymd && $member['mb_id'] && !$is_admin) {
$row = sql_fetch(" select mb_level from {$g5['member_table']} where mb_id = '{$member['mb_id']}' ");
if ($row['mb_level'] != $down_level) {
sql_query(" update {$g5['member_table']} set mb_level = '$down_level' where mb_id = '{$member['mb_id']}' ");
}
}
}
답변 1
질문을 보면서 제가 생각한게 맞는진 모르겠지만..
우선 mb_1에는 5등급이 유지되는 기간을 넣었고
mb_9에는 4등급이 유지되는 기간을 넣었다는건가요?
그냥 mb_1에는 무조건 등급이 유지되는 기간을 넣으시고 mb_1만 사용해도 될법한데요?
둘다 결국은 기간이 지나면 등급3으로 되는게 맞을까요?
만약 이게 맞다면
$now_time_ymd = strtotime(G5_TIME_YMD);
$end_time_ymd = strtotime($member['mb_1']);
$down_level = 3; // 기간이 지나면 다운시킬 레벨
// mb_1에는 기간이 있고 기간이 지난 상태이면서 회원레벨이 3보다 크다면 실행
if($member['mb_1'] && $now_time_ymd > $end_time_ymd && $member['mb_level'] > 3) {
sql_query(" update {$g5['member_table']} set mb_level = '{$down_level}', mb_1 = '' where mb_id = '{$member['mb_id']}' ");
}
이렇게 넣으시면 현재 접속회원의 레벨이 3보다 큰 회원이고 mb_1에는 기간이 지난 값이 있는 회원의 레벨이 3으로 변경됩니다.
그리고 mb_1에는 다시 공백을 넣어주므로써 앞으로 접속하더라도 조건에 들어가지않게 하는것입니다.
!-->
답변을 작성하시기 전에 로그인 해주세요.