회원 권한 이름설정 인데요. 응용이 안되네요 ㅠㅠ
본문
아래 처럼 하면 회원 권한별 이름을 정하고 출력도 잘되는데요.
우선 관리자 여분필드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
페이지별로 들어가 있는 변수명도 다 다르고, 중복으로 선언할 수도 있고, 이미 선언되어 있는 변수명이 있을 경우 값이 덮어질 수도 있습니다.