회원 권한 이름설정 인데요. 응용이 안되네요 ㅠㅠ 채택완료
아래 처럼 하면 회원 권한별 이름을 정하고 출력도 잘되는데요.
우선 관리자 여분필드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
if ($event) $str .= " $event";
$str .= ">\n";
for ($i=$start_id; $i<=$end_id; $i++) {
$str .= '
if ($i == $selected)
$str .= ' selected="selected"';
$str .= ">{$i}\n";
}
$str .= "\n";
return $str;
}
답변 1개
페이지별로 들어가 있는 변수명도 다 다르고, 중복으로 선언할 수도 있고, 이미 선언되어 있는 변수명이 있을 경우 값이 덮어질 수도 있습니다.
답변에 대한 댓글 4개
// 회원권한을 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;
}
[/code]
위 함수는 /lib/common.lib.php에 넣어 두시면 됩니다.
어차피 환경 설정 여분 필드에 넣어서 사용하시는 거니까요.
그리고 필요한 페이지에서 <?=member_str(레벨)?> 이렇게 사용하시면 됩니다.
'레벨'이라고 된 부분은 숫자로 넣으셔야 합니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인