테스트 사이트 - 개발 중인 베타 버전입니다

$is_admin 변수가 로그인체크 페이지에서 불안정합니다. 왜그럴까요? 채택완료

sinbi 2년 전 조회 2,587

$is_admin 변수가 참으로 나왔다가 거짓으로 나왔다가 불안정하네요.

대체로 참인데, 가끔 거짓으로 나옵니다.

관련글: https://sir.kr/qa/503746

 

테스트는 로컬 라라곤에서 아래 코드로 /bbs/login_check.php 맨 하단 위치에서 진행했습니다.

https://github.com/gnuboard/gnuboard5/blob/4eba618a829e2065d7cd85235300355323b210e0/bbs/login_check.php#L166

 

</p>

<p>global $is_admin;

var_dump($is_admin);</p>

<p>if ($is_admin) {

    echo '관리자';

    //goto_url(G5_ADMIN_URL);

} else {

    echo '회원';

    //goto_url($link);

}</p>

<p>

최고관리자로 로그인 시 항상 '관리자'로 찍혀야 하는데, 가끔 '회원'으로 찍힙니다.

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
2년 전

로그인 페이지는 $member['mb_id'] 가 아닌 $mb['mb_id'] 로 사용합니다.

$is_admin 변수는 $member['mb_id'] 값을 기반으로 체크합니다.

그래서 $is_admin으로 하면 안 되고 이런 식으로 해야 합니다.

if (is_admin($mb['mb_id'])) {

 

참고 

/common.php

 

// 회원, 비회원 구분
$is_member = $is_guest = false;
$is_admin = '';
if (isset($member['mb_id']) && $member['mb_id']) {
    $is_member = true;
    $is_admin = is_admin($member['mb_id']);
    $member['mb_dir'] = substr($member['mb_id'],0,2);
} else {
    $is_guest = true;
    $member['mb_id'] = '';
    $member['mb_level'] = 1; // 비회원의 경우 회원레벨을 가장 낮게 설정
}

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

s
sinbi
2년 전
작은별 님, 사랑합니다.
( ^ ________ ~) ===b
예뜨락
2년 전
작은별님 저도 사랑합니다 ^^*

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인