회원권한(레벨)명 설정

· 19년 전 · 13201 · 47
img01.gif
img02.gif

안녕하세요. 킴스보드을 지금까지 하다가 그누보드에 온지를 얼마 안되었습니다.
회원그룹이 권한으로 설 정으로 묶여져 있고 보기가 안좋아서 인터페이스를 약간 수정해보았습니다.
우선 sql 으로 디비 테이블을 하나 추가했습니다.
# # 테이블 구조 `g4_member_group`
# CREATE TABLE `g4_member_group` (
`gm_no` int(8) NOT NULL auto_increment,
`gm_id` char(2) NOT NULL default '',
`gm_name` varchar(255) NOT NULL default '',
PRIMARY KEY (`gm_no`) )
TYPE=MyISAM AUTO_INCREMENT=11 ;
# # 테이블의 덤프 데이터 `g4_member_group` #
INSERT INTO `g4_member_group` (`gm_no`, `gm_id`, `gm_name`) VALUES (1, '1', '비회원');
INSERT INTO `g4_member_group` (`gm_no`, `gm_id`, `gm_name`) VALUES (2, '2', '정회원');
INSERT INTO `g4_member_group` (`gm_no`, `gm_id`, `gm_name`) VALUES (3, '3', '골든회원');
INSERT INTO `g4_member_group` (`gm_no`, `gm_id`, `gm_name`) VALUES (4, '4', '실버회원');
INSERT INTO `g4_member_group` (`gm_no`, `gm_id`, `gm_name`) VALUES (5, '5', '');
INSERT INTO `g4_member_group` (`gm_no`, `gm_id`, `gm_name`) VALUES (6, '6', '');
INSERT INTO `g4_member_group` (`gm_no`, `gm_id`, `gm_name`) VALUES (7, '7', '');
INSERT INTO `g4_member_group` (`gm_no`, `gm_id`, `gm_name`) VALUES (8, '8', '');
INSERT INTO `g4_member_group` (`gm_no`, `gm_id`, `gm_name`) VALUES (9, '9', '');
INSERT INTO `g4_member_group` (`gm_no`, `gm_id`, `gm_name`) VALUES (10, '10', '관리자');
그리고 관리자에 메뉴를 하나 추가 했습니다. <?
$menu["menu200"] = array (
    array("200000", "회원관리", ""),
    array("200100", "회원관리", "$g4[admin_path]/member_list.php"),
    array("200200", "포인트관리", "$g4[admin_path]/point_list.php"),
    array("200300", "회원메일발송", "$g4[admin_path]/mail_list.php"),
    array("200400", "회원권한명관리", "$g4[admin_path]/memberGroup_list.php"), <!-- 새로추가 -->
    array("-"),
    array("200800", "접속자현황",
    "$g4[admin_path]/visit_list.php"),
    array("-"), array("200900", "투표관리", "$g4[admin_path]/poll_list.php") );

./adm/admin.js
function member_group_update(str, uid,type)
{
 var f = document.fmemberG_list;

 var orign_group = f.elements["groupName_["+type+"]"].value;

 if (orign_group != str)
 {
  if (!confirm('\n이미 회원이 가입된 그룹의 명칭을 임의로 변경할 경우           \n\n해당그룹의 회원들에게 혼란을 줄 수 있습니다.\n\n그래도 그룹명칭을 변경하시겠습니까?               \n'))
  {
   return false;
  }
 }
 else {
  if (!confirm('\n\n정말로 변경 변경하시겠습니까?               \n'))
  {
   return false;
  }
 }

 location.href = "./memberGroup_form_update.php?w=u&gm_no=" + uid + "&gm_name=" + orign_group;

}

- 회원 그룹 개별 수정 컨트롤 자바스크립트 입니다.
./adm/admin.lib.php
// 회원권한을 SELECT 형식으로 얻음
function get_member_level_select($name, $start_id=0, $end_id=10, $selected='', $event='')
{
    global $g4;

    $str = "<select name='$name' $event>";
    for ($i=$start_id; $i<=$end_id; $i++)
    {
   $sql = "select * from g4_member_group where gm_id = '$i'";
   $gmData = sql_fetch_array(sql_query($sql));
        $str .= "<option value='$i'";
        if ($i == $selected)
            $str .= " selected";
        $str .= ">[$i] $gmData[gm_name]</option>";
    }
    $str .= "</select>";
    return $str;
}

첨부파일

img01.gif (19.2 KB)
0회 2006-08-15 17:07
img02.gif (18.7 KB)
0회 2006-08-15 17:07
memberGroup.zip (18 KB) 774회 2006-08-15 17:07
|

댓글 47개

좋은 기능 감사합니다.^^
더운데 수고많으세요~ &--(. _ .)--&
꼭 필요한 기능을 올려 주셔서 감사 드립니다.
유용하게 쓰일거 같네요
감사합니다.. 저도 만들고 보니까.. 권한설정할때 무지 좋네요 ^^
admin.menu200.php 7째줄에
array("200400", "회원권한명관리", "$g4[admin_path]/memberGroup_list.php") <----- 여기서 G가 대문자라 인식을 못했네요. 파일명에서 membergroup을 memberGroup으로 바꾸면 됩니다
이궁 제가 중간에 대문자을 잘 끼어넣습니다. ^^;;
얏~호! 이거이 제가 목메어 찾던 기능인데....
감사합니다. 잘 쓰겠습니다.
에고 저는 에러가 나여
받은 파일을 폴더에 맞게 올렸는데


현재 에러가 나는 곳은

회원관리에서 아래와 같이
select * from g4_member_group where gm_id = '1'
1146 : Table 'hans4374.g4_member_group' doesn't exist

error file : /gnuboard4/adm/member_list.php


회원권한명 관리에서
select * from g4_member_group order by gm_no asc

1146 : Table 'hans4374.g4_member_group' doesn't exist

error file : /gnuboard4/adm/memberGroup_list.php

아래와 같이 에러가 나여

^^
g4_member_group 테이블을 새로 추가해야 합니다. 위에 첨에 글을 참고해주세요 ^^
네에 그렇군여
테이블을 어케 추가하는지 모르기에 원래대로 돌아가는게 나을것 같아서
원래대로 돌아갑니다.
다음에 제가 php에 대해서 더 알게되면 그때에나 ㅎㅎ
감사합니다
근데 회원정보는 profile.skin.php에서 개별적으로 바꿔줘야 하는건가요?
profile.skin.php 이건 어디에 있죠?
멤버스킨에 있습니다.
아주 좋네요...
캬.. 아주 좋네요 ~
수달님 그럼 로그인에 레벨명칭 또는 레벨과 레벨명칭을 뜨게 하려고 하거든요..
그럼 어떤걸 넣어야 하죠?
멋지네요~
아주 좋은 기능인것 같습니다. 유용하게 사용하게 할께요~
민우주님 죄송해요.. 밥먹고 사는게 힘들어서 ㅋ 외부로그인 할때

outlogin.skin.2.php 에서 닉네임 아래에 넣어주시면 됩니다.

<?
$sql = "select * from g4_member_group where gm_id ='$member[mb_level]'";
$mbGroup = sql_fetch_array(sql_query($sql));
?>
Lev. <?=$mbGroup[gm_id]?> <?=$mbGroup[gm_name]?>
드렁크 수달님 너무 감사요 ^^~~~~~~~~~~~
선택은 되는데 수정이 안됩니다. 어디가 문제죠..?
줄 : 305
문자:1
오류:개체가 필요합니다.
코드:0
URL:http://www.xxx.com/xxx/xxx/memberGroup_list.php
줄 305 면 모죠? 며느리도 모릅니다. 제가 불때 자바스크립트 오류인거 같은데 현재 버그는 발견되지 않았네요.. 왜냐면 제가 지금도 이걸 쓰고 있거든요.. 자세한 사항을 알고 싶네요 ^^
아..테이블 추가하는방법좀....
mysqladmin 실행시키고 sql 에서 밑에 내용을 넣어서 쿼리 하시면 됩니다.

CREATE TABLE `g4_member_group` (
`gm_no` int(8) NOT NULL auto_increment,
`gm_id` char(2) NOT NULL default '',
`gm_name` varchar(255) NOT NULL default '',
PRIMARY KEY (`gm_no`)
) TYPE=MyISAM;
구~웃입니다. 정말 필요한 기능을 올려주셨네요~
잘 적용했습니다. 네이버처럼...회원별 아이콘이 있으면 어떨까? 조심스레 제안을 해봅니다.
이런거 찾고 있었느데.^^ 감사합니다.
회원레벨을 명칭으로
4.21.01에 적용을 다시 하다가 보니 common.lib.php에 아래 함수가 기본으로 추가 되었네요. ^^
function get_group($gr_id)
{
global $g4;

return sql_fetch(" select * from $g4[group_table] where gr_id = '$gr_id' ");
}
감사합니다.^^;;
문제가 많군요...
(너무 늦었지만..^^) 좋은 팁 감사합니다 :) 열심히 적용해서 잘 써먹을게요!!
그누보드 업그레이드로 인해 수정할려고 했는뎅 다시 만들어서 올리게요 ㅎㅎ;;
기다리겠습니다. ^^
업그레이드 했습니다.. 넘 늦게 올렸네요 ^^;;

http://www.sir.co.kr/bbs/board.php?bo_table=g4_skin&wr_id=73374&sca=&sfl=&stx=&spt=0&page=0
이거 맹그느라 죽는줄 알았다는 작동은 잘되지만...관리자 페이지외에는
별로 써먹을곳이없네요.....
이런건 추천!@!@
회원권한명관리는 정상으로 동작하는데

회원관리에서 권한 콤보박스에 권한 1, 2, 3.....만나타나고 권한명(손님, 준회원등...이

안나타나는것은 무엇이 잘못된걸까요?
유용한스킨 감사합니다.

# common.lib.php 에서 다음 내용만 추가된 거겠죠.

// 회원 권한명 정보를 얻는다.
function get_member_group_name($gm_no, $fields='*')
{
global $g4;

return sql_fetch(" select $fields from g4_member_group where gm_no = TRIM('$gm_no') ");
}
로그인 회원레벨한글명 보여주기
감사합니다

댓글 작성

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

로그인하기
🐛 버그신고