Warning: Undefined array key "mobile_dir" in /home/kagla/new-sir/old/common.php on line 315
질문일 수도 있고 버그일 수도 있는 질문입니다.

질문일 수도 있고 버그일 수도 있는 질문입니다.

질문일 수도 있고 버그일 수도 있는 질문입니다.

QA

질문일 수도 있고 버그일 수도 있는 질문입니다.

답변 1

본문


else if ($w == 'u')
{
    $mb = get_member($mb_id);
    if (! (isset($mb['mb_id']) && $mb['mb_id']))
        alert('존재하지 않는 회원자료입니다.');
    if ($is_admin != 'super' && $mb['mb_level'] >= $member['mb_level'])
        alert('자신보다 권한이 높거나 같은 회원은 수정할 수 없습니다.');
    if ($is_admin !== 'super' && is_admin($mb['mb_id']) === 'super' ) {
        alert('최고관리자의 비밀번호를 수정할수 없습니다.');
    }
    if ($mb_id === $member['mb_id'] && $_POST['mb_level'] != $mb['mb_level'])
        alert($mb['mb_id'].' : 로그인 중인 관리자 레벨은 수정 할 수 없습니다.');
    // 닉네임중복체크
    $sql = " select mb_id, mb_name, mb_nick, mb_email from {$g5['member_table']} where mb_nick = '{$mb_nick}' and mb_id <> '$mb_id' ";
    $row = sql_fetch($sql);
    if (isset($row['mb_id']) && $row['mb_id'])
        alert('이미 존재하는 닉네임입니다.\\nID : '.$row['mb_id'].'\\n이름 : '.$row['mb_name'].'\\n닉네임 : '.$row['mb_nick'].'\\n메일 : '.$row['mb_email']);
    // 이메일중복체크
    $sql = " select mb_id, mb_name, mb_nick, mb_email from {$g5['member_table']} where mb_email = '{$mb_email}' and mb_id <> '$mb_id' ";
    $row = sql_fetch($sql);
    if (isset($row['mb_id']) && $row['mb_id'])
        alert('이미 존재하는 이메일입니다.\\nID : '.$row['mb_id'].'\\n이름 : '.$row['mb_name'].'\\n닉네임 : '.$row['mb_nick'].'\\n메일 : '.$row['mb_email']);
    if ($mb_password)
        $sql_password = " , mb_password = '".get_encrypt_string($mb_password)."' ";
    else
        $sql_password = "";
    if (isset($passive_certify) && $passive_certify)
        $sql_certify = " , mb_email_certify = '".G5_TIME_YMDHIS."' ";
    else
        $sql_certify = "";
    $sql = " update {$g5['member_table']}
                set {$sql_common}
                     {$sql_password}
                     {$sql_certify}
                where mb_id = '{$mb_id}' ";
    sql_query($sql);
}

 

https://github.com/gnuboard/gnuboard5/blob/master/adm/member_form_update.php

파일에서 회원정보를 관리자가 수정 할 때에 경우 ($w == 'u') 내용 입니다.

 

155번 줄 보시면 아래와 같이 되어있는데

 


    if ($mb_password)
        $sql_password = " , mb_password = '".get_encrypt_string($mb_password)."' ";
    else
        $sql_password = "";
    if (isset($passive_certify) && $passive_certify)
        $sql_certify = " , mb_email_certify = '".G5_TIME_YMDHIS."' ";
    else
        $sql_certify = "";

 

위에 부분을 보면

if ($mb_password)

if (isset($passive_certify) && $passive_certify)

위 와 같은 경우 isset이 되어 있지 않고

PHP8 관련하여 많이 수정 된 것으로 알고 있는데

if (isset($_POST['mb_password']) && $_POST['mb_password'])

이러한 형태로 수정되어야 하는게 아닌가 하는 생각이 들어서 글을 올립니다.

 

다른 이유가 있어서 저렇게 하신건지 아니면

수정해야 맞는건데 안하시는건지 궁금합니다.

 

이 질문에 댓글 쓰기 :

답변 1

버그라 생각되는 부분은 사소한 부분이라도 버그 게시판에 전부 제보하시면 됩니다.

https://sir.kr/cm_bug?sca=%EA%B7%B8%EB%88%84%EB%B3%B4%EB%93%9C5

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 129,406
© SIRSOFT
현재 페이지 제일 처음으로