테이블 깨짐 현상? 이건... 무슨문제인지 감이안오네요;
본문
부디 도움 부탁드립니다. ㅠ_ㅠ;
게시판, 랭킹페이지, 아웃로그인 같은건 전혀 손본데가 없어요...
다만 바꾼거라면, 휴온빌더 1.6.2 를 1.3 버전위에 덮어씌우기로 업데이트 과정에서, 이런 문제가 발생했습니다.
테이블이나 메뉴구성이 좀 바뀌고, 기타등등 업데이트가 이루어졌는데; 경험치바만 유독 이상하게 반응합니다.
style.css 라던가... 그런데서 문제가 생긴걸까요?
홈페이지 주소는 : http://tf1club.speeds.kr/index.php 입니다.
테스트용 ID : test01 비밀번호 : test01 입니다.
원래는 아래처럼 나오고 있었습니다...
적용법은 <?=exp_bar($member[mb_id],$member[mb_point],1);?> 만 필요한 곳에 넣어주면 됩니다.
그래서 이전 버전 홈페이지에선 잘쓰고있다가,
휴온빌더 1.3.2 에서 1.6.3 으로 올렸는데... 아래와 같이 경험치 바가 이중 삼중으로 노출이 됩니다.
rank.php 소스 전체 공개 했습니다. 왜 한줄은 제대로 나오고... 세줄 정도가 표시되는걸까요?;;
<?
if (!defined("_GNUBOARD_")) exit;
include_once("./_common.php");
include_once("$g4[path]/head.sub.php");
define("_CO_POINT_RANK_", TRUE);
$html_title = "포인트 랭킹";
$g4[title] = "" . $html_title;
?>
<?
if ($member[mb_level] < 1)
echo "<script>
alert('회원만 조회하실수 있습니다.');
location.href='/bbs/login.php?wr_id=&url=point_rank.php';
</script>";
?>
<style type="text/css">
<!--
.bk123 {
border: 1px solid #CCCCCC;
}
.bkbk {
border: 1px solid #999999;
}
-->
</style>
<table width="100%" border="0" cellpadding="0" cellspacing="0" >
<tr>
<td height="15" colspan="6" align="left" valign="top"></td>
</tr>
<tr>
<td height="100" colspan="6" align="left" valign="middle"><table width="100%" border="0" cellpadding="0" cellspacing="0" class="bk123">
<tr>
<td height="35" style="padding-left:20px;">회원권한제도: <img src="/level_img/level5.gif"> A Class, <img src="/level_img/level6.gif"> P Class, <img src="/level_img/level7.gif"> C Class, <img src="/level_img/level8.gif"> V Class, <img src="/level_img/level9.gif"> Staff, <img src="/level_img/level10.gif"> Master. </td>
</tr>
<?
if ($member[mb_id])
{
?>
<tr>
<td height="35" style="padding-left:20px;"><?
$sql1 = "select count(mb_id) as cnt from $g4[member_table] where mb_point >= '$member[mb_point]' and mb_level = '$member[mb_level]' order by mb_point desc";
$row1 = sql_fetch($sql1);
$sql2 = "select count(mb_id) as cnt from $g4[member_table] where mb_level = '$member[mb_level]'";
$row2 = sql_fetch($sql2);
if ($member[mb_level] == 10)
$level="Master";
else if ($member[mb_level] == 7)
$level="Staff";
else if ($member[mb_level] == 6)
$level="V Class";
else if ($member[mb_level] == 5)
$level="C Class";
else if ($member[mb_level] == 4)
$level="P Class";
else if ($member[mb_level] == 3)
$level="A Class";
else if ($member[mb_level] == 2)
$level="New A Class";
else if ($member[mb_level] == 0)
$level="비회원";
?>
레벨상황 : 현재 <?=$member[mb_id]?>님의 포인트는 <?=$member[mb_point]?>점 이고, 랭킹은 <?=$level?> class <?=$row2[cnt]?>명중 <?=$row1[cnt]?>등 입니다.
</td>
</tr>
<? } ?>
</table></td>
</tr>
<tr >
<td width="10%"><b><font color="blue">랭킹</font></b></td>
<td width="12%" background="img/title_bg.gif" height="25"><b><font color="blue">닉네임</font></b></td>
<td width="18%" background="img/title_bg.gif" height="25"><b><font color="blue">레벨 & 경험치</font></b></td>
<td width="20%" background="img/title_bg.gif" height="25"><b><font color="blue">아이디</font></b></td>
<td width="20%" background="img/title_bg.gif" align="right" height="25"><b><font color="blue">회원권한</font></b></td>
<td width="20%" align="right" background="img/title_bg.gif" ><b><font color="blue">포인트</font></b></td>
</tr>
<tr>
<td colspan="6" height="5"></td>
</tr>
<tr>
<td colspan="6" height="1" bgcolor="#CCCCCC"></td>
</tr>
<tr>
<td colspan="6" height="5"></td>
</tr>
<?
$sql = " select count(*) as cnt from $g4[member_table]";
$row = sql_fetch($sql);
$total_count = $row[cnt];
$rows = 20;
$total_page = ceil($total_count / $rows);
if ($page == "") { $page = 1; }
$from_record = ($page - 1) * $rows;
$mod = 48;
$tbl_col =2 ;
$tbl_col_sep = (int)($mod / $tbl_col) + ($mod % $tbl_col) ;
if($_GET[keyword]!="")
{
if($_GET[type]==0)
{
$keyword_yi="where mb_nick='$_GET[keyword]'";
}
if($_GET[type]==1)
{
$keyword_yi="where mb_name='$_GET[keyword]'";
}
if($_GET[type]==2)
{
$keyword_yi="where mb_id='$_GET[keyword]'";
}
}
$sql = " select * from $g4[member_table] $keyword_yi
order by mb_point desc, mb_today_login desc
limit $from_record, $rows ";
$sql11 = " select count(*) from $g4[member_table] $keyword_yi
order by mb_point desc, mb_today_login desc
";
$result = sql_query($sql);
$result11 = sql_query($sql11);
//echo $rsn11;
$rsn11=mysql_fetch_array($result11);
if($rsn11[0]==0)
{
if($_GET[type]==0)
{
$ty="닉네임";
}
if($_GET[type]==1)
{
$ty="이름";
}
if($_GET[type]==2)
{
$ty="아이디";
}
echo "<tr><td colspan=6 align=center height=150> 검색하신 $ty(<font color=red>$_GET[keyword]</font>) 에 대한 검색결과가 없습니다</td></tr>";
}
for ($i=0; $row=sql_fetch_array($result); $i++)
{
$rank = (($page - 1) * $rows) + $i + 1;
$point = number_format($row[mb_point]);
$id = $row[mb_id];
?>
<tr height="30" >
<td width="13%" height="35" ><?=$rank?></td>
<td height="35"> <a title="쪽지보내기" onfocus='this.blur()' style="FILTER: blendTrans(duration=0.7); CURSOR: pointer" onclick="window.open('/bbs/memo_form.php?me_recv_mb_id=<?=$row[mb_id]?>','www_yiwuauction_com1','width=602,height=521,toolbars=no,resizable=no,scrollbars=no')"><?=$row[mb_nick]?></a> </td>
<td height="35"><?=exp_bar($row[mb_id],$row[mb_point],1);?></td>
<td width="20%" height="35"><a title="정보보기" onfocus='this.blur()' style="FILTER: blendTrans(duration=0.7); CURSOR: pointer" onclick="window.open('/bbs/profile.php?mb_id=<?=$row[mb_id]?>','www_yiwuauction_com2','width=602,height=521,toolbars=no,resizable=no,scrollbars=no')"><b><?=$row[mb_id]?></b></a></td>
<td width="24%" height="35" align="right">
<?
if ($level = $row[mb_level] == 10)
$level="Master";
else if ($level = $row[mb_level] == 7)
$level="Staff";
else if ($level = $row[mb_level] == 6)
$level="V Class";
else if ($level = $row[mb_level] == 5)
$level="C Class";
else if ($level = $row[mb_level] == 4)
$level="P Class";
else if ($level = $row[mb_level] == 3)
$level="A Class";
else if ($level = $row[mb_level] == 2)
$level="New A Class";
else if ($level = $row[mb_level] == 0)
$level="비회원";
?>
<font color=green><?=$level?></font> </td>
<td width="20%" height="35" align="right"><font color="#FF0000"><?=$point?> 점</font></td>
</tr>
<tr>
<td colspan="6" height="1" background="img/dot_line.gif"></td>
</tr>
<? } ?>
<tr>
<td colspan="6" height="30"></td>
</tr>
<tr>
<td height="20" colspan="6">
<table width="651" height="20" border="0" cellpadding="0" cellspacing="0">
<form id="form1" name="form1" method="get" action=""><tr>
<td width="423" valign="middle">
<?
if($_GET[keyword]=="")
{
$page = get_paging($config[cf_write_pages], $page, $total_page, "?$qstr&page=");
echo "<p><table width=100% cellpadding=0 cellspacing=0><tr><td align=center>$page</td></tr></table>";
}
?></td>
<td width="187" align="right" valign="middle">
<div align="center">
<select name="type" id="type">
<option value="0" <?php if($_GET[type]==0){ echo "selected";}?>>닉네임</option>
<option value="1" <?php if($_GET[type]==1){ echo "selected";}?>>이름</option>
<option value="2" <?php if($_GET[type]==2){ echo "selected";}?>>아이디</option>
</select>
<input name="keyword" type="text" class="bkbk" id="keyword" size="15" value="<?=$_GET[keyword]?>"/>
</div> </td>
<td width="41" align="right"><input type="image" name="imageField" src="img/btn_post_search.gif" /></td>
</tr></form>
</table></td>
</tr>
<tr>
<td height="15" colspan="6"> </td>
</tr>
</table>
아웃로그인 쪽 코드입니다.
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
?>
<link href="<?=$outlogin_skin_path?>/hn_basic.css" rel="stylesheet" type="text/css">
<div id="hnOutlogin2">
<table cellspacing="0" cellpadding="0" class="mbInfo">
<tr>
<td style="text-align:center;"><span class='member'><strong><?=$nick?></strong>님</span></td>
<? if ($is_admin == "super" || $is_auth) { ?><td width="50"><a href="<?=$g4['admin_path']?>/"><img src="<?=$outlogin_skin_path?>/img/admin.gif" width="33" height="15" border="0" align="absmiddle"></a></td><? } ?>
</tr>
</table>
<div class="mbBtnWrap">
<table cellpadding="0" cellspacing="0">
<tr>
<td><a href="<?=$g4['bbs_path']?>/logout.php"><img src="<?=$outlogin_skin_path?>/img/logout_button.gif" width="78" height="20" border="0"></a></td>
<td><a href="<?=$g4['bbs_path']?>/member_confirm.php?url=register_form.php"><img src="<?=$outlogin_skin_path?>/img/login_modify.gif" width="78" height="20" border="0"></a></td>
</tr>
<tr>
<td><a href="javascript:win_memo();"><span style="color:#ff8871; font-weight:bold;">쪽지 (<?=$memo_not_read?>)</span></a></td>
<td><a href="javascript:win_scrap();"><img src="<?=$outlogin_skin_path?>/img/scrap_button.gif" width="78" height="20" border="0"></a></td>
</tr>
</table>
</div>
</div>
<?=exp_bar($member[mb_id],$member[mb_point],1);?>
<!-- /#outlogin2 -->
<script language="JavaScript">
// 탈퇴의 경우 아래 코드를 연동하시면 됩니다.
function member_leave()
{
if (confirm("정말 회원에서 탈퇴 하시겠습니까?"))
location.href = "<?=$g4['bbs_path']?>/member_confirm.php?url=member_leave.php";
}
</script>
<!-- 로그인 후 외부로그인 끝 -->
View.skin.php 입니다.
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
if ($write[wr_id]) {
$mb = get_member($write[mb_id]);
}
$level = get_member_level($mb['mb_id'],$mb['mb_point']);
?>
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- 게시판상단 -->
<ins class="adsbygoogle"
style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-7975248343923825"
data-ad-slot="1263022596"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
<!-- 게시글 보기 시작 -->
<table width="<?=$width?>" align="center" cellpadding="0" cellspacing="0"><tr><td>
<!-- 링크 버튼 -->
<?
ob_start();
?>
<table width="100%" cellpadding=0 cellspacing="0" border="0">
<tr height="35">
<td width="90%">
<? if ($search_href) { echo "<a href=\"$search_href\"><img src='$board_skin_path/img/btn_search_list.gif' border='0' align='absmiddle'></a> "; } ?>
<? echo "<a href=\"$list_href\"><img src='$board_skin_path/img/btn_list.gif' border='0' align='absmiddle'></a> "; ?>
<? if ($write_href) { echo "<a href=\"$write_href\"><img src='$board_skin_path/img/btn_write.gif' border='0' align='absmiddle'></a> "; } ?>
<? if ($reply_href) { echo "<a href=\"$reply_href\"><img src='$board_skin_path/img/btn_reply.gif' border='0' align='absmiddle'></a> "; } ?>
<? if ($update_href) { echo "<a href=\"$update_href\"><img src='$board_skin_path/img/btn_update.gif' border='0' align='absmiddle'></a> "; } ?>
<? if ($delete_href) { echo "<a href=\"$delete_href\"><img src='$board_skin_path/img/btn_delete.gif' border='0' align='absmiddle'></a> "; } ?>
<? if ($good_href) { echo "<a href=\"$good_href\" target='hiddenframe'><img src='$board_skin_path/img/btn_good.gif' border='0' align='absmiddle'></a> "; } ?>
<? if ($nogood_href) { echo "<a href=\"$nogood_href\" target='hiddenframe'><img src='$board_skin_path/img/btn_nogood.gif' border='0' align='absmiddle'></a> "; } ?>
<? if ($scrap_href) { echo "<a href=\"javascript:;\" onclick=\"win_scrap('./scrap_popin.php?bo_table=$bo_table&wr_id=$wr_id');\"><img src='$board_skin_path/img/btn_scrap.gif' border='0' align='absmiddle'></a> "; } ?>
<? if ($copy_href) { echo "<a href=\"$copy_href\"><img src='$board_skin_path/img/btn_copy.gif' border='0' align='absmiddle'></a> "; } ?>
<? if ($move_href) { echo "<a href=\"$move_href\"><img src='$board_skin_path/img/btn_move.gif' border='0' align='absmiddle'></a> "; } ?>
</td>
<td width=25% align=right>
<? if ($prev_href) { echo "<a href=\"$prev_href\" title=\"$prev_wr_subject\"><img src='$board_skin_path/img/btn_prev.gif' border='0' align='absmiddle'></a> "; } ?>
<? if ($next_href) { echo "<a href=\"$next_href\" title=\"$next_wr_subject\"><img src='$board_skin_path/img/btn_next.gif' border='0' align='absmiddle'></a> "; } ?>
</td>
</tr>
</table>
<?
$link_buttons = ob_get_contents();
ob_end_flush();
?>
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr><td height="1" bgcolor="#DDDDDD"></td></tr>
<tr><td height=30> <strong><? if ($is_category) { echo ($category_name ? "[$view[ca_name]] " : ""); } ?><?=$view[subject]?></strong></td></tr>
<tr><td height="1" bgcolor="#DDDDDD"></td></tr>
<tr><td height="3" bgcolor="#F6F6F6"></td></tr>
<tr><td height=30> <font color=#7A8FDB>계급</font> : <?=$level?> <font color=#7A8FDB>글쓴이</font> : <?=$view[name]?><? if ($is_ip_view) { echo " ($ip)"; } ?> <font color=#7A8FDB>날짜</font> : <?=substr($view[wr_datetime],2,14)?> <font color=#7A8FDB>조회</font> : <?=$view[wr_hit]?> <? if ($is_good) { ?><font color=#7A8FDB>추천</font> : <?=$view[wr_good]?> <?}?>
<? if ($is_nogood) { ?><font color=#7A8FDB>비추천</font> : <?=$view[wr_nogood]?> <?}?></td></tr>
<tr><td height=1 bgcolor=#E7E7E7></td></tr>
<? if ($view[wr_homepage]) { ?>
<tr><td height=25> <font color=#7A8FDB>홈페이지</font> : <a href="<?=$view[wr_homepage]?>"><?=$view[wr_homepage]?></td></tr>
<tr><td height=1 bgcolor=#E7E7E7></td></tr>
<?}?>
<?if ($view[wr_email]) { ?>
<!-- <tr><td height=25> <font color=#7A8FDB>이메일</font> : <?=$view[wr_email]?></td></tr>
<tr><td height=1 bgcolor=#E7E7E7></td></tr> -->
<?}?>
<? if ($trackback_url) { ?>
<tr><td height=25> 트랙백 주소 : <a href="javascript:clipboard_trackback('<?=$trackback_url?>');" style="letter-spacing:0;" title='이 글을 소개할 때는 이 주소를 사용하세요'><?=$trackback_url?></a>
<script language="JavaScript">
function clipboard_trackback(str)
{
if (g4_is_gecko)
prompt("이 글의 고유주소입니다. Ctrl+C를 눌러 복사하세요.", str);
else if (g4_is_ie) {
window.clipboardData.setData("Text", str);
alert("트랙백 주소가 복사되었습니다.\n\n<?=$trackback_url?>");
}
}
</script></td></tr>
<?}?>
<?
// 가변 파일
$cnt = 0;
for ($i=0; $i<count($view[file]); $i++)
{
if ($view[file][$i][source] && !$view[file][$i][view])
{
$cnt++;
echo "<tr><td height=22> <img src='{$board_skin_path}/img/icon_file.gif' align=absmiddle> <a href='{$view[file][$i][href]}' title='{$view[file][$i][content]}'><strong>{$view[file][$i][source]}</strong> ({$view[file][$i][size]}), Down : {$view[file][$i][download]}, {$view[file][$i][datetime]}</a></td></tr>";
}
}
// 링크
$cnt = 0;
for ($i=1; $i<=$g4[link_count]; $i++)
{
if ($view[link][$i])
{
$cnt++;
$link = cut_str($view[link][$i], 70);
echo "<tr><td height=25> <img src='{$board_skin_path}/img/icon_link.gif' align=absmiddle> <a href='{$view[link_href][$i]}' target=_blank><strong>{$link}</strong></a> ({$view[link_hit][$i]})</td></tr>";
}
}
?>
<tr><td height="1" bgcolor="#e7e7e7"></td></tr>
<tr>
<td>
<table border="0" width="100%" cellpadding="0" cellspacing="0" bgcolor="#F8F8F9">
<tr>
<td style='word-break:break-all; padding:10px;' class="ed3">
<?
// 파일 출력
for ($i=0; $i<=count($view[file]); $i++) {
if ($view[file][$i][view])
echo $view[file][$i][view]."<br><br>";
}
?>
<?=$view[content];?>
<?//echo $view[rich_content]; // view_image($view, '0', '') 과 같은 코드를 사용할 경우?>
<!-- 테러 태그 방지용 --></xml></xmp><a href=""></a><a href=''></a>
</td>
</tr></table>
<tr><td>
<table width="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#F8F8F9">
<tr>
<td> <? if ($is_signature) { echo "$signature"; } // 서명 출력 ?></td>
<td width="103" valign="bottom"><?=exp_bar($mb[mb_id],$mb[mb_point],1);?></td>
</tr>
</table>
</td>
</tr>
</table>
<?
include_once("./view_comment.php");
?>
<?=$link_buttons?>
</td></tr></table>
<script language="JavaScript">
// HTML 로 넘어온 <img ... > 태그의 폭이 테이블폭보다 크다면 테이블폭을 적용한다.
function resize_image()
{
var target = document.getElementsByName('target_resize_image[]');
var image_width = parseInt('<?=$board[bo_image_width]?>');
var image_height = 0;
for(i=0; i<target.length; i++) {
// 원래 사이즈를 저장해 놓는다
target[i].tmp_width = target[i].width;
target[i].tmp_height = target[i].height;
// 이미지 폭이 테이블 폭보다 크다면 테이블폭에 맞춘다
if(target[i].width > image_width) {
image_height = parseFloat(target[i].width / target[i].height)
target[i].width = image_width;
target[i].height = parseInt(image_width / image_height);
}
}
}
window.onload = resize_image;
</script>
<!-- 게시글 보기 끝 -->
!-->!-->!-->
답변 2
첫번째건 exp_bar 펑션에서 테이블을 생성해주는데요. 거기서
<table width="80" border="0" cellspacing="0" cellpadding="0" background="../img/exp_bar.gif">
위에게 있을거에요.
여기서 background="../img/exp_bar.gif"를 지우시고요
style="background:url('../img/exp_bar.gif') 0 10px no-repeat;" 이걸 넣으세요.
다른건 다시 살펴볼께요 ^^
개발자도구로 수정해본거에요 ^^ 높이 9px로하니깐 맞네요~
1%인데 경험치바 찬거는 적용되었나 보려고 늘려본거에요...