그룹별 회원 접근권한 문의입니다.

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
그룹별 회원 접근권한 문의입니다.

QA

그룹별 회원 접근권한 문의입니다.

본문

 
 
1.jpg
 
[그룹 g로 로그인했을경우]
 
 
 
 2.jpg
[그룹 g로 로그인한 상태에서 i그룹을 눌렀을경우]
 
 
 
 
그룹 g와 그룹 i 가 있습니다.
 
레벨 둘다 3이구요~
 
그룹별로 접근권한을 주어 그림에 보듯이
 
g로 접속햇을경우에 g에해당하는 목록은 보이고
 
i를 누르면 접근권한 없다는 팝업이 뜹니다.
 
 
이렇게는 가능해졌느데~
 
제가 하고싶은것은 그룹 g로 로그인하면 그룹 i 메뉴 자체가 안보이게 하고싶습니다.
 
반대로 i로 접속하면 g그룹 메뉴가 안보이게 하고싶습니다.
 
 
어떻게 해야하나요 ㅠㅠ 밑에는 접근권한 소스 넣은부분입니다.
 
 
 
 
<?
    // 그룹접근 사용
    if ($group[gr_use_access])
    {
        if (!$member[mb_id]) {
            $msg = "비회원은 이 게시판에 접근할 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.";
            if ($cwin)
                alert_close($msg);
            else
                alert($msg, "./login.php?wr_id=$wr_id{$qstr}&url=".urlencode("./board.php?bo_table=$bo_table&wr_id=$wr_id"));
        }
        // 그룹관리자 이상이라면 통과
        if ($is_admin == "super" || $is_admin == "group")
            ;
        else
        {
            // 그룹접근
            $sql = " select count(*) as cnt
                      from $g4[group_member_table]
                      where gr_id = '$board[gr_id]' and mb_id = '$member[mb_id]' ";
            $row = sql_fetch($sql);
            if (!$row[cnt])
                alert("접근 권한이 없으므로 글읽기가 불가합니다.\\n\\n궁금하신 사항은 관리자에게 문의 바랍니다.", $g4[path]);
        }
    }

?>
 
 
 
 
 
 
 
 
 

이 질문에 댓글 쓰기 :

답변 1

이 부분은 해당 소스에서 수정할 부분이 아닙니다...
 
관련된 파일이라면 아마 left.php 파일 등이 있을텐데..
 
만약 좌측 메뉴를 잡는 파일이 left.php 파일이라면 해당 파일에서 다음과 같이 기술해주면 됩니다
 
만약 위와같은 소스가 left.php 파일에도 있다면
 
<?
    // 그룹접근 사용
    if ($group[gr_use_access])
    {
        if (!$member[mb_id]) {
            $msg = "비회원은 이 게시판에 접근할 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.";
            if ($cwin)
                alert_close($msg);
            else
                alert($msg, "./login.php?wr_id=$wr_id{$qstr}&url=".urlencode("./board.php?bo_table=$bo_table&wr_id=$wr_id"));
        }
        // 그룹관리자 이상이라면 통과
        if ($is_admin == "super" || $is_admin == "group")
            ;
        else
        {
            // 그룹접근
            $sql = " select count(*) as cnt
                      from $g4[group_member_table]
                      where gr_id = '$board[gr_id]' and mb_id = '$member[mb_id]' ";
            $row = sql_fetch($sql);
            if (!$row[cnt])
                alert("접근 권한이 없으므로 글읽기가 불가합니다.\\n\\n궁금하신 사항은 관리자에게 문의 바랍니다.", $g4[path]);
        }
    }

?>
 
해당 밑줄친 부분을 이용해서 코딩해야합니다.
if($row[cnt]) 밑의 부분은 코딩되어 있는 대로 살펴본다면
 
이 부분이 그룹에 대한 코딩을 하는 곳이니까....
 
if($row[cnt]){
 
 
그룹이 아닐 경우, 혹은 접근 권한이 없는 사용자가 접근하는 경우 소스를 코딩해야하니,
저 안쪽 부분에서 한번더 if를 넣어줘야죠
 
if(!row[cnt]){ //자신의 그룹 게시판이 아닐 경우
 if($board[gr_id] == "g"){ //그룹 아이디가 g 그룹 게시판 일경우
 ?>
 이 부분에 안보이게 코딩해야 하니, <table style='display:none'>
속성을 적용하던가..... 그냥 아무것도 안쓰던가 해야겟지요
 <?
 }else if($board[gr_id] == "i"){
 }
}
해당 부분에서 "g" 나 "i" 부분을 " " 로 감싼것은, 그룹 이름이 String 일 경우를 감안해서 사용한 것입니다.
그룹 이름이 단일 문자일 경우 ' ' 과 같이, 홀 따옴표를 사용하십시오
답변을 작성하시기 전에 로그인 해주세요.
전체 48
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT