로그인이 돼있을 떄는 리스트가 잘 나오는데 비회원일 떄 에러가 납니다

로그인이 돼있을 떄는 리스트가 잘 나오는데 비회원일 떄 에러가 납니다

QA

로그인이 돼있을 떄는 리스트가 잘 나오는데 비회원일 떄 에러가 납니다

본문

2113357061_1690509338.4441.png

관리자로 로그인해서 확인할 때는 에러 없이 잘나오는데요!

 

2113357061_1690509356.3931.png

비회원일 경우입니다. 콘솔로 본 에러는

2113357061_1690509372.2191.png

 

이렇게나오는데 원인을 쓰읍.. 못잡겠네여 혹시 비슷한 경험 하신분 계신가요!

 

혹시 서버쪽 문제인지 답변 부탁드립니다!

 


<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
// 선택옵션으로 인해 셀합치기가 가변적으로 변함
$colspan = 2;
if ($is_checkbox) $colspan++;
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0);
include_once(G5_LIB_PATH.'/thumbnail.lib.php');
?>
<script>
$(window).on('load', function() {
    $('#bo_cate_on').css("background-color", "<?php echo $board['bo_1']; ?>");
    $('#bo_list .cnt_cmt').css("background-color", "<?php echo $board['bo_1']; ?>");
    $('#bo_list .btn_list_01 a').css("background-color", "<?php echo $board['bo_1']; ?>");
    $('#bo_list .td_num2 .fa-bell').css("color", "<?php echo $board['bo_1']; ?>");
    $('#bo_list .td_num2 .fa-lock').css("color", "<?php echo $board['bo_1']; ?>");
    $('#bo_list .comm_cnt').css("color", "<?php echo $board['bo_1']; ?>");
    $('.scrap_ico .fa-heart').css("color", "<?php echo $board['bo_1']; ?>");
    //$('.scrap_ico .fa-heart-o').css("color", "<?php echo $board['bo_1']; ?>"); 빈하트 컬러적용시 주석해제
});
</script>

<div class="btn_bo_user_cover">
    <ul class="btn_bo_user">
        <?php if ($admin_href) { ?><li class="pc_view"><a href="<?php echo $admin_href ?>" class="btn_b01 btn" title="관리자"><i class="fa fa-cog"></i><span class="sound_only">관리자</span></a></li><?php } ?>
        <?php if ($rss_href) { ?><li class="pc_view"><a href="<?php echo $rss_href ?>" class="btn_b01 btn" title="RSS"><i class="fa fa-rss" aria-hidden="true"></i><span class="sound_only">RSS</span></a></li><?php } ?>
        
        
        <?php if ($is_admin == 'super' || $is_auth) {  ?>
        <li style="position:relative;">
            <button type="button" class="btn_more_opt is_list_btn btn_b01 btn top_op_btn" title="게시판 리스트 옵션"><i class="fa fa-ellipsis-v" aria-hidden="true" style="font-size:16px;"></i><span class="sound_only">게시판 리스트 옵션</span></button>
            <?php if ($is_checkbox) { ?>    
            <ul class="more_opt is_list_btn">  
                <li><button type="submit" name="btn_submit" value="선택삭제" onclick="document.pressed=this.value"><i class="fa fa-trash-o" aria-hidden="true"></i> 선택삭제</button></li>
                <li><button type="submit" name="btn_submit" value="선택복사" onclick="document.pressed=this.value"><i class="fa fa-files-o" aria-hidden="true"></i> 선택복사</button></li>
                <li><button type="submit" name="btn_submit" value="선택이동" onclick="document.pressed=this.value"><i class="fa fa-arrows" aria-hidden="true"></i> 선택이동</button></li>
            </ul>
            <?php } ?>
        </li>
        <?php if ($is_checkbox) { ?>
        <li class="all_chk chk_box top_chk_all">
            <input type="checkbox" id="chkall" onclick="if (this.checked) all_checked(true); else all_checked(false);" class="selec_chk">
            <label for="chkall">
                <span></span>
                <b class="sound_only">현재 페이지 게시물  전체선택</b>
            </label>
        </li>
        <?php } ?>
        <?php }  ?>
    </ul>
</div>
<!-- 게시판 목록 시작 -->
<?=latest("review_list",$bo_table,2,100,1,""," AND wr_9 >= 5")?>

<div id="bo_list" style="width:<?php echo $width; ?>; padding:0 30px 30px; box-sizing:border-box;">
    <?php if ($is_category) { ?>
    <nav id="bo_cate">
        <h2><?php echo ($board['bo_mobile_subject'] ? $board['bo_mobile_subject'] : $board['bo_subject']) ?> 카테고리</h2>
        <ul id="bo_cate_ul">
            <?php echo $category_option ?>
        </ul>
    </nav>
    <?php } ?>
    <form name="fboardlist"  id="fboardlist" action="<?php echo G5_BBS_URL; ?>/board_list_update.php" onsubmit="return fboardlist_submit(this);" method="post">
    <input type="hidden" name="bo_table" value="<?php echo $bo_table ?>">
    <input type="hidden" name="sfl" value="<?php echo $sfl ?>">
    <input type="hidden" name="stx" value="<?php echo $stx ?>">
    <input type="hidden" name="spt" value="<?php echo $spt ?>">
    <input type="hidden" name="sst" value="<?php echo $sst ?>">
    <input type="hidden" name="sod" value="<?php echo $sod ?>">
    <input type="hidden" name="page" value="<?php echo $page ?>">
    <input type="hidden" name="sw" value="">
  
     <div class="reviewTable tbl_wrap">
        <table>
        
       
        <tbody>
        <?php
        for ($i=0; $i<count($list); $i++) {
            
          
    
            $thumb = get_list_thumbnail($board['bo_table'], $list[$i]['wr_id'], "200", "");
            if($thumb["src"]){
                $listThumb = $thumb["src"];
            }else{
                $listThumb = "/img/noimg.jpg";
            }
            
        ?>
        <tr class="<?php if ($list[$i]['is_notice']) echo "bo_notice"; ?>">
            <td class="td_img">
                <a href="<?php echo $list[$i]['href'] ?>" style="background-image:url('<?=$listThumb?>');"></a>
                <div class="starBox">
                    <?for($j=1; $j <= 5; $j++){
                        $src = "/img/star_on.png";
                        if($j > $list[$i]["wr_9"])    $src = "/img/star_off.png";
                    ?>
                        <img src="<?=$src?>" alt="" />
                    <?}?>
                 </div>
            </td>
            
            
            <td class="td_subject">
    
                    
                    <ul class="bo_tit_ul1">
                        <li><?=$is_admin ? $list[$i]['wr_name'] : masking($list[$i]['wr_name'])?>님</li>
                        <li><?php echo $list[$i]['datetime'] ?></li>
                    </ul>
                    <ul class="bo_tit_ul2"><div>
                    
                    <a href="<?php echo $list[$i]['href'] ?>" <?php if($list[$i]['icon_secret']) { ?>style="color:#999"<?php } ?>>
                        <?php echo $list[$i]['icon_reply'] ?>
                        
                        <?php if($list[$i]['icon_secret']) { ?>
                        비밀글로 보호된 글입니다.
                        <?php } else { ?>
                        <?php echo $list[$i]['wr_subject'] ?> <?php if ($list[$i]['comment_cnt']) { ?><a class="comm_cnt">+<?php echo $list[$i]['wr_comment']; ?> </a><?php } ?>
                    </a><?php } ?> <?php if ($list[$i]['icon_new']) echo "<span class=\"new_icon\">N<span class=\"sound_only\">새글</span></span>";?>
                    
                    </div></ul>
                     <ul class="bo_tit_ul3"><div>
                     <?=strip_tags($list[$i]["wr_content"])?>
                     </ul></div>
                    
                    
             
            </td>
            
            
           
            
            <td class="td_star chk_box">
                 
                 <?php if ($is_checkbox) { ?>
            
                    <input type="checkbox" name="chk_wr_id[]" value="<?php echo $list[$i]['wr_id'] ?>" id="chk_wr_id_<?php echo $i ?>" class="selec_chk"  >
                    <label for="chk_wr_id_<?php echo $i ?>" style="position:absolute; right:5px; top:50%; margin-top:-12.5px;;">
                        <span></span>
                        <b class="sound_only"><?php echo $list[$i]['subject'] ?></b>
                    </label>
            
                <?php } ?>
            </td>
            
            
        </tr>
        <?php } ?>
        <?php if (count($list) == 0) { echo '<tr><td colspan="'.$colspan.'" class="empty_table">게시물이 없습니다.</td></tr>'; } ?>
        </tbody>
        </table>
    </div>
    
    <?php if ($list_href || $is_checkbox || $write_href) { ?>
    <div class="bo_fx">
        <?php if ($list_href || $write_href) { ?>
        <ul class="btn_bo_user_btm">
            <!--
            <?php if ($admin_href) { ?><li><a href="<?php echo $admin_href ?>" class="btn_admin btn" title="관리자"><i class="fa fa-cog fa-spin fa-fw"></i><span class="sound_only">관리자</span></a></li><?php } ?>
            <?php if ($rss_href) { ?><li><a href="<?php echo $rss_href ?>" class="btn_b01 btn" title="RSS"><i class="fa fa-rss" aria-hidden="true"></i><span class="sound_only">RSS</span></a></li><?php } ?>
            -->
            
            <?php if ($write_href) { ?>
            <li class="btn_list_01">
                <a href="<?php echo $write_href ?>" class="btn_b01 btn" title="작성">
                    <span class="pc_view">작성하기</span>
                </a>
            </li>
            <?php } ?>
            
        </ul>    
        <?php } ?>
    </div>
    <?php } ?>   
</div>
</form>
<?php if($is_checkbox) { ?>
<noscript>
<p>자바스크립트를 사용하지 않는 경우<br>별도의 확인 절차 없이 바로 선택삭제 처리하므로 주의하시기 바랍니다.</p>
</noscript>
<?php } ?>
<!-- 페이지 -->
<?php echo $write_pages; ?>

<!--<div id="bo_list_total">
    <span>전체 <?php echo number_format($total_count) ?>건</span>
    <?php echo $page ?> 페이지
</div>
<fieldset id="bo_sch">
    <legend>게시물 검색</legend>
    <form name="fsearch" method="get">
    <input type="hidden" name="bo_table" value="<?php echo $bo_table ?>">
    <input type="hidden" name="sca" value="<?php echo $sca ?>">
    <input type="hidden" name="sop" value="and">
    <label for="sfl" class="sound_only">검색대상</label>
    <select name="sfl" id="sfl">
        <?php echo get_board_sfl_select_options($sfl); ?>
    </select>
    <input name="stx" value="<?php echo stripslashes($stx) ?>" placeholder="검색어를 입력하세요" required id="stx" class="sch_input" size="15" maxlength="20">
    <button type="submit" value="검색" class="sch_btn"><i class="fa fa-search" aria-hidden="true"></i> <span class="sound_only">검색</span></button>
    </form>
</fieldset>-->
<?php if ($is_checkbox) { ?>
<script>
function all_checked(sw) {
    var f = document.fboardlist;
    for (var i=0; i<f.length; i++) {
        if (f.elements[i].name == "chk_wr_id[]")
            f.elements[i].checked = sw;
    }
}
function fboardlist_submit(f) {
    var chk_count = 0;
    for (var i=0; i<f.length; i++) {
        if (f.elements[i].name == "chk_wr_id[]" && f.elements[i].checked)
            chk_count++;
    }
    if (!chk_count) {
        alert(document.pressed + "할 게시물을 하나 이상 선택하세요.");
        return false;
    }
    if(document.pressed == "선택복사") {
        select_copy("copy");
        return;
    }
    if(document.pressed == "선택이동") {
        select_copy("move");
        return;
    }
    if(document.pressed == "선택삭제") {
        if (!confirm("선택한 게시물을 정말 삭제하시겠습니까?\n\n한번 삭제한 자료는 복구할 수 없습니다\n\n답변글이 있는 게시글을 선택하신 경우\n답변글도 선택하셔야 게시글이 삭제됩니다."))
            return false;
        f.removeAttribute("target");
        f.action = g5_bbs_url+"/board_list_update.php";
    }
    return true;
}
// 선택한 게시물 복사 및 이동
function select_copy(sw) {
    var f = document.fboardlist;
    if (sw == 'copy')
        str = "복사";
    else
        str = "이동";
    var sub_win = window.open("", "move", "left=50, top=50, width=500, height=550, scrollbars=1");
    f.sw.value = sw;
    f.target = "move";
    f.action = g5_bbs_url+"/move.php";
    f.submit();
}
// 게시판 리스트 관리자 옵션
jQuery(function($){
    $(".btn_more_opt.is_list_btn").on("click", function(e) {
        e.stopPropagation();
        $(".more_opt.is_list_btn").toggle();
    });
    $(document).on("click", function (e) {
        if(!$(e.target).closest('.is_list_btn').length) {
            $(".more_opt.is_list_btn").hide();
        }
    });
});
</script>
<?php } ?>
<!-- 게시판 목록 끝 -->
 

이 질문에 댓글 쓰기 :

답변 2



<li><?=$is_admin ? $list[$i]['wr_name'] : masking($list[$i]['wr_name'])?>님</li>

위 코드부분에 masking함수가 제대로 작동하나요? 

아아! 마스킹함수는 common.lib에서 불러와서 불러와지고있었는데 masking 함수 내에 mb_strlen내부 함수를 쓰고있었는데 centos에 mb_strlen을 설치를 안해놔서 에러가 나던거였어요! 지금은 수정해서 잘 나오고 있습니다! 감사합니다~

소스는 크게 문제 되는부분이 없어보입니다. 또한 로그인했을경우 정상적이라면 십중팔구 비회원이 게시판에 접근 권한이 설정되어 있는지 확인해보시구요, 설정권한도 한번 테스트 해보세요 

게시판 설정에서 비회원이 읽기 권한을 갖도록 설정해주셔야 지 해결 될듯 싶네요

답변을 작성하시기 전에 로그인 해주세요.
전체 3

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT