채택완료

그누보드 회원이름 변경 후 데이터 출력

2023-01-19 (목) 21:08:38 1,801

https://sir.kr/g5_tip/4372

을 통해 이름을 바꿨는데요

(설정한 등급이름)OO님 안녕하세요 이렇게 출력하고싶은데

데이터를 어떻게 가져와야할까요?

<?pho echo $userName ?> 라고 출력하면 아무값이 나오지 않습니다

|

답변 3개 / 댓글 12개

채택된 답변
+20 포인트

admin.lib.php 말고 저 부분을 커스텀하셔서 적용하셔야 하는데요

common.lib.php에 선언하셔서

Copy
// 레벨명
function get_member_level_name($level)
{
switch ($level)
{
case 1 : $userName = "비회원"; break;
case 2 : $userName = "일반회원"; break;
case 3 : $userName = "업체회원"; break;
case 10 : $userName = "관리자"; break;
default : $userName = ""; break;
}
return $userName;
}

이렇게 고쳐 적용해 주시면 되실듯 합니다.

답변에 대한 댓글 8개

common.lip.php 에 제일 하단에 새로 정의하고
출력하고 싶은 부분에 <?php echo $userName ?> 으로 출력하면 나오지 않습니다ㅠㅠ
당연히안될것 같으면서 방법을 모르겠네요 ㅠㅠ
$userLevelNm = get_member_level_name($mb['mb_level']);

echo $userLevelNm; 을 해야 표기가 가능한 부분입니다.
답변감사합니다!!!
$userLevelNm = get_member_level_name($mb['mb_level']);
선언을 어디다가 해줘야할까요? common.lib에 정의한 함수 밑에 정의 후 제가 원하는 곳에 에코로 출력. 잘 안되네요..ㅠㅠ

데이터를 정의하고 가져오는 개념이 없어서 어렵숩니다...ㅠㅠ 너무 감사합니다
제가 원하는 태그가 있는 php 파일 상단에 변수를 선언해도 안되네요! ㅠㅠ
function get_member_level_name($level)
이건 common.lib.php 파일에 선언해 주시고요

해당 반영할 페이지가 common.php 가 인클루드 되어 있어야 하며

그 하단에 출력해서 로그인되어 있는 상태인 경우

$userLevelNm = get_member_level_name($mb['mb_level']);

echo userLevelNm; 으로 하시면 출력되실 겁니다.
감사합니다 원하는페이지에 common.lib 인클루드 후 변수 선언하고 출력 했습니다.
값은 여전히 나오지 않네요 ㅠㅠ
해당 체크하는 레벨이 몇인지 모르지만 지금은 레벨이 1,2,3,10레벨만 선언 되어 있고 나머지는 빈값으로 나오니 확인해 보세요
오...감사합니다... common.lib에서 받아오는 $level값에
$mb['mb_level']을 넣으니 안되고
$member['mb_level'] 를 넣으니까 되네요!!! 꼼꼼히 살펴보니 조금 알게되었습니다 너무 감사합니다!!
2023-01-20 (금) 10:37:51

자세히 설명을 못드렸네요 ㅠㅠ

admin.lib.php 에 이렇게 변경을 했고

관리자 메뉴에서 회원 등급변경할 때 제가 정한 이름으로 바꿀 수 있습니다.

문제는 이렇게 변경한 레벨이름을 제가 원하는 태그안에서 출력을 하고싶은데요

admin.lib에서 $userName변수를 정의하는데 제가 원하는 페이지에서 어떻게 가져오는 지 궁금합니다!

Copy
// 회원권한을 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++) {

  switch ($i)

 {

  case 2 : $userName = "정회원"; break;

  case 3 : $userName = "동문"; break;

  case 9 : $userName = "임원"; break;

  case 10 : $userName = "관리자"; break;

  default : $userName = ""; break;

 }

 

  if ($userName)

  {

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

   if ($i == $selected)

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

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

  }

    }

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

    return $str;

}

$level_arr = array(1=>'비회원', 2=>'일반회워', 3=>'업체회원', 10=>'관리자');

이렇게 위에 선언을 하고.. 아래와 같이 출력하세요.

<?php echo $level_arr[$mb['mb_level']] ?>

답변에 대한 댓글 4개

제가 출력할 태그가 있는 php파일 안에서
위에 선언을 하고 출력태그를 넣으니 잘 출력이 안되네요 ㅠㅠ
여러 페이지에서 사용하는거면..
$level_arr 배열을
/extend/user.config.php 파일에 추가해주시면 됩니다.

출력을 원하는 페이지를 알려주세요..
페이지별로 회원 레벨을 불러오는 부분이 다릅니다.
위의 로그인한 회원의 등급을 표시한 겁니다.
원하는 페이지는 outlogin.skin.2.php입니다!
너무감사합니다
상단에 아래 소스 추가..
$mb = get_member($mb_id);

답변을 작성하려면 로그인이 필요합니다.