회원 권한 이름설정 인데요. 응용이 안되네요 ㅠㅠ

회원 권한 이름설정 인데요. 응용이 안되네요 ㅠㅠ

QA

회원 권한 이름설정 인데요. 응용이 안되네요 ㅠㅠ

본문

아래 처럼 하면 회원 권한별 이름을 정하고 출력도 잘되는데요.

 

 

 

 

 

우선 관리자 여분필드1에 원하는 레벨명을 넣습니다. 
저는 "|손님|준회원||||정회원||||우녕자" 이렇게 했습니다. (레벨1=손님, 레벨2=준회원, 레벨6=정회원, 레벨10=우녕자) 
여기서 손님 앞에 공백을 하나 준 것은 배열에서 첫번째 값이 0으로 시작해서 그에 맞추느라... 
그리고 아래 소스를 extend 폴더에서 사용중인 php문서에 넣고 


function get_lvname($mb_id) 

  global $g4, $member, $config; // 사노라가노라님의 조언으로 $config 추가 
$sql = " select * from $g4[member_table] where mb_id = '$mb_id'"; 
$row = sql_fetch($sql); 
    ob_start(); 
$list_lv = $config[cf_1]; ///$config여분필드1 ->  |손님|준회원||||정회원||||우녕자 
$u_lv = explode("|",$list_lv); 

$cnt = count($u_lv); 
for ($i=0;$i<$cnt;$i++) 

if ($row[mb_level]==$i)  //$i+1 하면 손님 앞에 공백 없어도 됨 (역시 사노라가노라님 조언) 

$lvname = $u_lv[$i]; 
break; 


echo $lvname; 
    $content = ob_get_contents(); 
    ob_end_clean(); 
    return $content; 
 

 

 

문제는 관리자 페이지에는 회원 레벨이 숫자로만 표시 되는데 응용해서 나오게 할려고 아침부터 계속 시도중인데 답이 안나오네요 ㅠㅠ

 

admin.lib.php 에서 해줘야 할꺼 같은데 팁이 오래되서 답변도 안나올꺼 같아 이곳에 질문해 봅니다. ㅠㅠ

 

아래 소스에서 해결해야 될꺼 같은데 어떻게 처리해야 될까요 ㅠㅠ

 

그누보드에서 정말 많은걸 얻어 가고 있습니다. 항상 감사드립니다.


// 회원권한을 SELECT 형식으로 얻음

function get_member_level_select($name, $start_id=0, $end_id=10, $selected="", $event="")

{

    global $g5;


    $str = "\n<select id=\"{$name}\" name=\"{$name}\"";

    if ($event) $str .= " $event";

    $str .= ">\n";

    for ($i=$start_id; $i<=$end_id; $i++) {

        $str .= '<option value="'.$i.'"';

        if ($i == $selected)

            $str .= ' selected="selected"';

        $str .= ">{$i}</option>\n";

    }

    $str .= "</select>\n";

    return $str;

}


 

이 질문에 댓글 쓰기 :

답변 1

실제로 수정해야 할 파일 이름(/adm/파일명.php), 어떻게 나타내고 싶은지를 설명하시는 게 낫습니다.

페이지별로 들어가 있는 변수명도 다 다르고, 중복으로 선언할 수도 있고, 이미 선언되어 있는 변수명이 있을 경우 값이 덮어질 수도 있습니다.

 

안녕하세요 왕계란님 자주 뵙습니다^^;;; 질문의 요지는 $config[cf_1] 필드( 기본환경설정 필드) 에 회원명이 |손님|준회원||||정회원||||우녕자 이런식으로 나누어져 들어가있고 위 코드를 익스텐더안에 넣어주고나서 <?=get_lvname($member[mb_id])?> 식으로 불러오면 레벨에 따라 넣어준 한글이름으로 출력이 잘 됩니다. 문제는 오히려 관리자 모드에 회원관리 에 들어가보면 저 한글명으로 나오는게 아니라 그냥 숫자만 나오는게 문제 인데요.

adm/admin.lib.php

// 회원권한을 SELECT 형식으로 얻음
function get_member_level_select($name, $start_id=0, $end_id=10, $selected="", $event="")
{
    global $g5;

    $str = "\n<select id=\"{$name}\" name=\"{$name}\"";
    if ($event) $str .= " $event";
    $str .= ">\n";
    for ($i=$start_id; $i<=$end_id; $i++) {
        $str .= '<option value="'.$i.'"';
        if ($i == $selected)
            $str .= ' selected="selected"';
        $str .= ">{$i}</option>\n";
    }
    $str .= "</select>\n";
    return $str;
}

이 부분에서 회원관리나 회원수정등에 나오는 셀렉트 박스를 관장하더라구요. 여기서 cf1 에 있는 배열값을 숫자와 함께 보여주고 싶은건데 실력이 모자라서 응용이 안되네요 ㅠㅠ 회원 권한을 한글이름으로 넣는 팁을 다 찾아 봤는데 다른 팁은 자기소개나 기타 다른곳에 뽑아서 넣는게 안되고 관리자에서만 되는데 이 팁은 다른곳에 응용이 가능합니다.. 거꾸로 관리자 모드에서 안나오길래 방법이 있을까 해서 글을 올려 보았습니다. 설명을 잘하는것도 실력인데 기본기가 부족해서 설명도 힘드네요 ㅠㅠ


function member_str($lev) {
	global $config;
	$cf_1 = explode("|", $config['cf_1']);
	$level_str = $cf_1[$lev];
	return $level_str;
}

위 함수는 /lib/common.lib.php에 넣어 두시면 됩니다.
어차피 환경 설정 여분 필드에 넣어서 사용하시는 거니까요.
그리고 필요한 페이지에서 <?=member_str(레벨)?> 이렇게 사용하시면 됩니다.
'레벨'이라고 된 부분은 숫자로 넣으셔야 합니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 126,582 | RSS
QA 내용 검색

회원로그인

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