테스트 사이트 - 개발 중인 베타 버전입니다

댓글(코멘트)입력란에 경험치 게이지가 정상적으로 표시가 되지않네요;;;

· 13년 전 · 934 · 12
1.jpg
2.jpg
3.jpg
원인은 뭐가 문제인거는 알겠는데;;;해결 방법을 모르겠습니다;;;;

게시판상단에 작성자의 레벨아이콘과 경험치는 잘나오는데

문제는 아래의 댓글부분인데 각 회원의 이미지까지는 정상적으로 나오는데 경험치 게이지가...일단

<?=exp_bar($list[$i][mb_id],$mb[mb_point],1);?>

이부분에서 앞의 아이디값은 정상적으로 잘 불러오는데 뒤의 포인트값을 정상적으로 불러오지못하네요;;;
아무리 변수를 바꾸어봐도....되지가않습니다....ㅠ.ㅠ
지금 저렇게하면 글작성자의 포인트값만 불러오네요;;댓글작성자의 포인트값을 전혀 불러오지못하고있네요;;;

물론 해당 파일 상단에

if ($write[wr_id]) { //레벨 아이콘 표시 시작
$mb = get_member($write[mb_id]);
}
$level = get_member_level($mb['mb_id'],$mb['mb_point']); //레벨 아이콘 표시 끝

는 넣었구요;;;;;;;

왜 이상하게 자꾸.....글 작성자의 포인트값은 잘 불러와지는데;;;;댓글작성자의 포인트값을 가지고오지못할까요...ㅠ.ㅠ
혼자서 끙끙되다가 결국 이렇게 질문글을 적게되네요..ㅠ.ㅠ

참고로 작성자 양계닭은 현재 슈퍼어드민 계정이고...경험치 23%는 맞는 값입니다(.....)
1000포인트마다 레벨업을 하게 설정이되어있거든요-ㅁ-;;;;

포인트가 1,231점이니까....23%맞습니다(....)원래 관리자계정은 경험치게이지가 표시되지않아야하는데^^;;;;게시글 본문에서는 잘표시가 되는데;;;;;
댓글부분에서는 적나라(???)하게 포인트가 나오는군요;;;;

댓글 작성

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

로그인하기

댓글 12개

$mb라는 변수 print_r2로 찍어보시죠 정상적으로 출력되는지..?
if ($write[wr_id]) { //레벨 아이콘 표시 시작
$mb = get_member($write[mb_id]);
}

$write[wr_id]는 수정글일때만 저런 변수가 생깁니다.
댓글부분 경험치 표시 부분에

if ($list[$i][mb_id]) { //레벨 아이콘 표시 시작
$mb = get_member($list[$i][mb_id]);
}
$level = get_member_level($mb['mb_id'],$mb['mb_point']); //레벨 아이콘 표시 끝

로 변경해보세요
안되네요......아예 따로 <?=$mb[mb_point]?>값을 빼서 출력이되나 확인을 했는데 나오지가 않네요;;;아무런 값도 출력이되지않습니다.
for문 list돌아가는곳 다 뿌려줘보세요

exp_bar 함수도 같이요.
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

if ($list[$i][mb_id]) { //레벨 아이콘 표시 시작
$mb = get_member($list[$i][mb_id]);
}
$level = get_member_level($mb['mb_id'],$mb['mb_point']); //레벨 아이콘 표시 끝

include_once("$g4[path]/head.sub.php");
include_once("$g4[path]/lib/thumb.lib.php");
?>

<table width=660 cellpadding=0 cellspacing=0 border=0>
<tr>
<td valign=top><? for ($k=0; $k<strlen($list[$i][wr_comment_reply]); $k++) echo "<img src='$board_skin_path/img/icon_reply.gif'>"?></td

><td valign=top>
<? if($mb[mb_level] < 2) {
echo "<img src='$board_skin_path/img/guest.jpg' Width='73' height='73' >";
} else {
$mb_icon = "";
$mb_dir = substr($list[$i][mb_id],0,2);
$icon_file = "$g4[path]/data/member/$mb_dir/{$list[$i][mb_id]}.gif";
if (file_exists($icon_file)) {
$mb_thumb = thumbnail($icon_file , 73,73,0,0,100);
echo "<img src='$mb_thumb' width='73' height='73' >";
} else {
echo "<img src='$board_skin_path/img/noimg.gif' width='73' height='73' >";
}
}
?>
<?=$mb_icon?>

<table border=0 cellpadding=0 cellspacing=0 width=580>
<tr>
<tr>
<td height="80"colspan=2 rowspan="3"></td>
</tr>

<td valign=top>
<div style="height:28px; background:url(<?=$board_skin_path?>/img/co_title_bg.gif);">
<div style="float:left;">
<strong><?=level_icon($list[$i][mb_id])?><?=$list[$i][name]?></strong>
<span style="color:#888888; font-size:11px;"><?=$list[$i][datetime]?></span>
</div>
<div style="float:left; padding-left:10px;">
<?=exp_bar($list[$i][mb_id],$mb[mb_point],1);?><?=$list[$i][mb_point]?></div>
<div style="float:right;">

이렇게하면되나요?

그냥 아예 파일을 첨부할려고했는데 게시글이 수정이안되네요..ㅠ.ㅠ
extend.level.php파일의 내용입니다;;

<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

function get_member_level($mb_id,$mb_point) {
global $g4;

$is_admin = is_admin($mb_id);
$point = $mb_point;
$level = ceil($point / 1000); //반올림을 하여 레벨을 구함.
if($mb_id)if($level <= 1) $level = 1; // 위 반올림에서 렙1미만 회원에게 레벨1을 줌, (비회원은 0)
if ($level > 97) $level = 97; // 최대 레벨 설정
if($is_admin == 'super') $level = 99; //관리자는 최고 레벨
$no = sprintf("%03d", $level);
return ;
}

//포인트 상태바
function exp_bar($mb_id,$mb_point,$option) {
global $g4;

$is_admin = is_admin($mb_id);
$point = $mb_point;
$level = ceil($point / 1000); //반올림을 하여 레벨을 구함.
if($mb_id)if($level <= 1){$level = 1;} // 반올림에서 렙1미만 회원에게 레벨1을 줌, (비회원은 0)
if ($level > 97){$level = 97;} //최대 레벨 설정
if($is_admin == 'super'){$level = 99;} //관리자는 최고 레벨
$no = sprintf("%03d", $level);
$max = $level * 1000;
if(!$level){$max=1000; $a_max=1000; $a_min=0;}else{$a_max = (int)($max / $level);$a_min = (int)($point - (1000 * ($level-1)));} //레벨이 없으면 최대값, 있으면 레벨에 맞는 최대값을 구함

if($is_admin == 'super'){$max=1000; $a_max=1000; $a_min=0;} //관리자는 기본세팅

$bar = (int)($a_min / $a_max * 100);
if($bar > 100) $bar = 0;
$graph = $bar."%"; //등급, 경험치바 표시
if($level == 0){$level = "--";} // 레벨값을 이용해 레벨대신 표시
//if($level == 60){$level = "admin";} // 레벨값을 이용해 레벨대신 표시

if($option == 1){
echo "<table border='0' cellspacing='0' cellpadding='0'><tr><td><table width='62' border='0' cellspacing='0' cellpadding='0' background='$g4[path]/img/exp_bar.gif'><tr height='1'><td colspan='3'></td></tr><tr height='5'><td width='1'></td><td width='60'><img src='$g4[path]/img/exp_in.gif' width='$graph' height='5'></td><td width='1'></td></tr><tr height='1'><td colspan='3'></td></tr></table></td><td>&nbsp;<span style='color:#479b11; font-size:10px; font-family:돋음; vertical-align:1px;'><span style='font-size:11px;font-weight:bold;'></span>Exp: $graph</span><td></tr></table>";
}
}

?>
exp_bar 함수도요
음??지금 방금 포함된 소스에 다 들어가있어요....모두 포함되어있습니다;;;

extend.level.php파일에서 먼저 읽어들인후에

<div style="float:left; padding-left:10px;">
<?=exp_bar($list[$i][mb_id],$mb[mb_point],1);?><?=$list[$i][mb_point]?></div>
<div style="float:right;"> 이걸로 뿌려주거든요.......

<?=$list[$i][mb_point]?><-이부분은 그냥 출력여부를 확인하기위해서 넣어두었습니다.

<?=exp_bar($list[$i][mb_id],$mb[mb_point],1);?><-이부분이 경험치바 출력함수입니다.

exp_bar의 값은 extend.level.php여기서 가져오구요...
if ($list[$i][mb_id]) { //레벨 아이콘 표시 시작
$mb = get_member($list[$i][mb_id]);
}


이것을..

<div style="float:left; padding-left:10px;">
<?=exp_bar($list[$i][mb_id],$mb[mb_point],1);?><?=$list[$i][mb_point]?></div>
<div style="float:right;">


여기 상단에 넣어주세요.
아;;;정말 감사합니다...이렇게하니까...되네요;;;저 정말 죄송하지만...

왜 값을 못가져왔는지......원인을 알려줄수 없을까요;;;;

원인이 뭐고 왜 이렇게해서 해결이됬는지 좀 알려주세요;;이부분은 좀 무리일려나요;;;

게시글 목록

번호 제목
284508
284499
284492
284490
284484
284481
284478
284476
284474
284472
284470
284458
284457
284454
284453
284447
284446
284444
284441
284440