회원레벨9권한 추가시키고 싶습니다.

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
회원레벨9권한 추가시키고 싶습니다.

QA

회원레벨9권한 추가시키고 싶습니다.

답변 3

본문

안녕하세요~

게시판에서 관리자인 경우 아래처럼 게시판 상태 변경을 할 수 있는데,

관리자가 아닌 9레벨 회원도 게시판의 상태를 변경하고 싶습니다.

혹시 방법을 알 수 있을까요?

부탁드립니다~

 

 

                    <?php

                    if ($list[$i]['wr_3'] == '0') echo "<span style='color:black'>상담</span>";
                    else if ($list[$i]['wr_3'] == '1') echo "<span style='color:black'>상담완료</span>";
                    else echo "<span style='color:black'>상담</span>";

                    if($is_admin) { // 관리자인경우 상태변경
                        echo "<select id='wr_stat' name='wr_stat' class='form-control inline-block'>";
                        echo "<option value=''>진행상황선택</option>";
                        echo "<option value='0'>0: 상담</option>";
                        echo "<option value='1'>1: 상담완료</option>";
                        echo "</select>";
                    }
                    ?>

이 질문에 댓글 쓰기 :

답변 3

해당 페이지가 수정 페이지일때 관리자 권한이 없다면

내가 쓴 글만 접근할수 있을꺼에요.

왜냐하면 업데이트 권한도 채크 하니까요.

그래서 특정 회원을 관리자로 전환하는 방법을 알려드릴께요.

 

두가지 방법이 있습니다.

 

1. 9등급도 관리자 권한 할당.

팁게시물 참조 : https://sir.kr/g5_tip/4296

 

2. 9등급을 특정 그룹 또는 게시판에서만 관리자로 할당.

팁게시물 참조 : https://sir.kr/g5_tip/2922

 

위 두가지 방법중 원하시는 형태로 작업하시면 되겠습니다.

수정 페이지에서 관리자는 모든 글에 접근할 수 있으며,

레벨 9 이상의 회원은 본인이 작성한 글만 접근 가능하면서 상태 변경 권한도 부여받습니다.

일반 회원은 본인이 작성한 글만 수정할 수 있습니다.

또한, 수정 페이지에 특정 회원의 권한을 변경하는 폼을 추가하여

관리자가 바로 해당 페이지에서 특정 회원의 레벨을 9 이상으로 변경하여

관리자 권한을 부여할 수 있도록 구현합니다.

아래의 방식은 권한 제어와 관리 기능을 하나의 페이지에서 통합하여 관리할 수 있습니다.

 

★ 수정 페이지 (bbs/write.php)


<?php
// 공통 파일 포함
include_once('./_common.php');
// 수정 페이지에서 접근 권한 처리
if ($w == 'u') { // $w == 'u'는 수정 모드
    if (!$is_admin && $member['mb_level'] < 9) { // 관리자도 아니고, 레벨 9 미만인 경우
        if ($write['wr_writer'] != $member['mb_id']) { // 본인 글이 아닌 경우 접근 차단
            alert("본인이 작성한 글만 수정할 수 있습니다.");
            exit;
        }
    }
}
// 관리자인 경우, 특정 회원의 레벨 변경 UI 제공
if ($is_admin) {
    ?>
    <form method="post" action="admin_level_update.php">
        <h3>특정 회원을 관리자로 전환</h3>
        <select name="mb_id">
            <?php
            $sql = "SELECT mb_id, mb_name FROM g5_member WHERE mb_level < 9"; // 관리자가 아닌 회원만
            $result = sql_query($sql);
            while ($row = sql_fetch_array($result)) {
                echo "<option value='{$row['mb_id']}'>{$row['mb_name']} ({$row['mb_id']})</option>";
            }
            ?>
        </select>
        <select name="mb_level">
            <option value="1">일반 회원</option>
            <option value="9">관리자</option>
            <option value="10">슈퍼 관리자</option>
        </select>
        <button type="submit">권한 변경</button>
    </form>
    <?php
}
?>

★ 권한 변경 처리 (bbs/admin_level_update.php)


<?php
include_once('./_common.php');
// 관리자 권한 확인
if (!$is_admin) {
    alert("관리자만 접근 가능합니다.");
    exit;
}
// 입력값 받기
$mb_id = $_POST['mb_id'];
$mb_level = (int)$_POST['mb_level'];
// 회원 레벨 업데이트
$sql = "UPDATE g5_member SET mb_level = '$mb_level' WHERE mb_id = '$mb_id'";
if (sql_query($sql)) {
    alert("회원 권한이 성공적으로 변경되었습니다.", "./write.php");
} else {
    alert("권한 변경에 실패했습니다.");
}
?>
답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 0
© SIRSOFT
현재 페이지 제일 처음으로