로그인 권한 주기전 로그인 오류에 대한 문제
본문
안녕하세요 몇가지 궁금하한 점이 있어서 고수님들게 문의드립니다
로그인제한을 걸었을때 레벨 승인이 안되서 접속할 수 없다는 알림 메시지가 뜬후에
현재 페이지에서 '회원정보찾기' '회원가입'을 눌럿을때
보시는바와같이 이미 로그인중입니다 이렇게 뜹니다
아마 레벨승인이 안되서 거부가 된상태에서도 로그인으로 인식해서 그런거같은데
왠만큼 검색해서 있는코드를 다 써본상태인데도 안되네요 어떤 코드를 어떻게 수정해야할까요?
// 로그인 여부 확인
if (!$is_member) {
// 로그인이 되어 있지 않으면 로그인 페이지로 이동
goto_url(G5_BBS_URL.'/login.php');
exit;
}
// 로그인 여부 확인 및 예외 페이지 설정
$allowed_pages = array('/password_lost.php', '/register.php');
$current_page = $_SERVER['SCRIPT_NAME'];
// 회원 레벨이 2 미만일 경우 접근 제한, 하지만 예외 페이지에서는 제한하지 않음
if ($member['mb_level'] < 2 && !in_array($current_page, $allowed_pages)) {
echo "<script>
alert('레벨2부터 접속하실 수 있습니다');
history.back(); // 이전 페이지로 돌아가거나 다른 동작을 할 수 있습니다.
</script>";
exit; // 이후의 코드를 실행하지 않도록 종료
}
답변 2
<?php
// 로그인 여부 확인
if (!$is_member) {
// 로그인이 되어 있지 않으면 로그인 페이지로 이동
goto_url(G5_BBS_URL.'/login.php');
exit;
}
// 로그인 여부 확인 및 예외 페이지 설정
$allowed_pages = array('/password_lost.php', '/register.php');
$current_page = $_SERVER['SCRIPT_NAME'];
// 회원 레벨이 2 미만일 경우 접근 제한, 하지만 예외 페이지에서는 제한하지 않음
if ($member['mb_level'] < 2 && !in_array($current_page, $allowed_pages)) {
if(function_exists('social_provider_logout')){
social_provider_logout();
}
session_unset();
session_destroy();
set_cookie('ck_mb_id', '', 0);
set_cookie('ck_auto', '', 0);
echo "<script>
alert('레벨2부터 접속하실 수 있습니다');
history.back(); // 이전 페이지로 돌아가거나 다른 동작을 할 수 있습니다.
</script>";
exit; // 이후의 코드를 실행하지 않도록 종료
}
로그아웃하시고 해보시면 되지 않을까요?
아니면 if(!$is_admin) {
} 조건문을 추가해보세요
답변을 작성하시기 전에 로그인 해주세요.