/bbs/new.php와 /bbs/fap.php 페이지에서 오류가 나는데요?

/bbs/new.php와 /bbs/fap.php 페이지에서 오류가 나는데요?

QA

/bbs/new.php와 /bbs/fap.php 페이지에서 오류가 나는데요?

답변 7

본문

안녕하세요. 

현재 그누보드 5.5.8.3 버전을 사용 중이구요.

깡패24 (CAFE24)의 UTF-8 (PHP7.4, mariadb-10.0.x) 웹호스팅을 사용하고 있습니다.

www/theme/basic/ 폴더 내의 디자인 관련 파일들만 작업하였구요.

www/bbs/ 폴더 내의 파일들은 아무 것도 건드리지 않았습니다.

 

관리자 페이지에서의 스킨 설정 상황은 아래와 같습니다.

2376350547_1684298619.8555.jpg

2376350547_1684298633.2204.jpg

 

문제점:
 

/bbs/faq.php 페이지


Fatal error: Uncaught Error: Unsupported operand types in /웹호스팅/www/bbs/faq.php:79 Stack trace: #0 {main} thrown in /웹호스팅/www/bbs/faq.php on line 79

/bbs/new.php 페이지


Fatal error: Uncaught Error: Unsupported operand types in /웹호스팅/www/bbs/new.php:38 Stack trace: #0 {main} thrown in /웹호스팅/www/bbs/new.php on line 38
 

 

위와 같은 오류가 발생하고 있습니다.

다른 페이지들은 모두 정상적으로 작동하고 있는 것 같구요.

유독 /bbs/new.php 페이지와 /bbs/fap.php 페이지에서 치명적인 오류가 발생하고 있습니다.

 

저만 이런 문제가 발생하고 있는걸가요?

이 문제는 어떻게 해결해야 하는지, 고수님들 조언 좀 부탁드려요 ^^

땡큐요 !!! (>▽<)

이 질문에 댓글 쓰기 :

답변 7

2376350547_1684320319.144.jpg

 

한페이지당 라인수, 모바일 한페이지당 라인수가 모두 기본값 15로 설정되어 있는데요??

 

FAQ 페이지 에러주소:

https://wkwndhk.cafe24.com/bbs/faq.php

 

NEW 페이지 에러주소:

https://wkwndhk.cafe24.com/bbs/new.php

 

PHP 파일의 심각한 오류가 인하여 /js/common.js 파일이 로드 되지 않아서, 

포인트(win_point), 쪽지(win_memo), 스크랩(win_scrap) 등의 버튼을 눌렀을 때,

 



$(".win_point").click(function() {
    win_point(this.href);
    return false;
});

$(".win_memo").click(function() {
    win_memo(this.href);
    return false;
});

$(".win_scrap").click(function() {
    win_scrap(this.href);
    return false;
});

 

클릭 click(function() {}); 이벤트가 촉발되지 않습니다.

faq.php 페이지의 78~79 라인 ( https://wkwndhk.cafe24.com/bbs/faq.php )


$total_page  = ceil($total_count / $page_rows);  // 전체 페이지 계산
$from_record = ($page - 1) * $page_rows; // 시작 열을 구함

 

new.php 페이지의 37~38 라인 ( https://wkwndhk.cafe24.com/bbs/new.php )

 

if ($page < 1) $page = 1; // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $rows; // 시작 열을 구함

 

에러가 발생하는 위치입니다. 

모두 페이지를 계산하는 위치인 것 같네요 ㅠㅠ

77행에 echo  $page_rows.'<=====';

36행에 echo $row.'<===';

위와 같이 해서 어떤 숫자값이 출력  되는지 보세요

소중한 시간에 답변 해주셔서 감사합니다.

아무래도 그누 5.5.8.3 버전이 제가 사용하고 있는 PHP7.4 환경에서는 문제가 좀 있는 것 같습니다.
저는 웬만하면 그누보드 순정판을 사용하고,
테마와 스킨 파일을 제외한 기타 파일은 건드리고 싶지 않군요..

균이님은 PHP 어느 버전을 사용하고 계시죠??
일단은, 깡패24 웹호스팅의 PHP버전을 변경해보려구요 ㅋㅋ
CAFE24에도 PHP 7.3, PHP 7.0, PHP 5.5, PHP 5.3, PHP 5.2 밖에 안 보이는군요 ^^

/bbs/faq.php 파일입니다.


<?php
include_once('./_common.php');
//dbconfig파일에 $g5['faq_table'] , $g5['faq_master_table'] 배열변수가 있는지 체크
if( !isset($g5['faq_table']) || !isset($g5['faq_master_table']) ){
    die('<meta charset="utf-8">관리자 모드에서 게시판관리->FAQ관리를 먼저 확인해 주세요.');
}
// FAQ MASTER
$faq_master_list = array();
$sql = " select * from {$g5['faq_master_table']} order by fm_order,fm_id ";
$result = sql_query($sql);
while ($row=sql_fetch_array($result))
{
    $key = $row['fm_id'];
    if (!isset($fm_id)) $fm_id = $key;
    $faq_master_list[$key] = $row;
}
$fm = array();
if (isset($fm_id) && $fm_id){
    $fm_id = (int) $fm_id;
    $qstr .= '&fm_id=' . $fm_id; // 마스터faq key_id
    $fm = $faq_master_list[$fm_id];
}
if (! (isset($fm['fm_id']) && $fm['fm_id']))
    alert('등록된 내용이 없습니다.');
$g5['title'] = $fm['fm_subject'];
$skin_file = $faq_skin_path.'/list.skin.php';
include_once('./_head.php');
if(is_file($skin_file)) {
    $admin_href = '';
    $himg_src = '';
    $timg_src = '';
    if($is_admin)
        $admin_href = G5_ADMIN_URL.'/faqmasterform.php?w=u&fm_id='.$fm_id;
    if(!G5_IS_MOBILE) {
        $himg = G5_DATA_PATH.'/faq/'.$fm_id.'_h';
        if (is_file($himg)){
            $himg_src = G5_DATA_URL.'/faq/'.$fm_id.'_h';
        }
        $timg = G5_DATA_PATH.'/faq/'.$fm_id.'_t';
        if (is_file($timg)){
            $timg_src = G5_DATA_URL.'/faq/'.$fm_id.'_t';
        }
    }
    $category_href = G5_BBS_URL.'/faq.php';
    $category_stx = '';
    $faq_list = array();
    $stx = trim($stx);
    $sql_search = '';
    if($stx) {
       $sql_search = " and ( INSTR(fa_subject, '$stx') > 0 or INSTR(fa_content, '$stx') > 0 ) ";
    }
    if ($page < 1) { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)
    $page_rows = G5_IS_MOBILE ? $config['cf_mobile_page_rows'] : $config['cf_page_rows'];
    $sql = " select count(*) as cnt
                from {$g5['faq_table']}
                where fm_id = '$fm_id'
                  $sql_search ";
    $total = sql_fetch($sql);
    $total_count = $total['cnt'];
    $total_page  = ceil($total_count / $page_rows);  // 전체 페이지 계산
    $from_record = ($page - 1) * $page_rows; // 시작 열을 구함
    $sql = " select *
                from {$g5['faq_table']}
                where fm_id = '$fm_id'
                  $sql_search
                order by fa_order , fa_id
                limit $from_record, $page_rows ";
    $result = sql_query($sql);
    for ($i=0;$row=sql_fetch_array($result);$i++){
        $faq_list[] = $row;
        if($stx) {
            $faq_list[$i]['fa_subject'] = search_font($stx, conv_content($faq_list[$i]['fa_subject'], 1));
            $faq_list[$i]['fa_content'] = search_font($stx, conv_content($faq_list[$i]['fa_content'], 1));
        }
    }
    include_once($skin_file);
} else {
    echo '<p>'.str_replace(G5_PATH.'/', '', $skin_file).'이 존재하지 않습니다.</p>';
}
include_once('./_tail.php');
 

사용자가 부동한 페이지에 접속하였을 때, 부동한 서버 메뉴, 부동한 네비게이션을 보여주기 위하여..
head.php 파일에서 left_submenu.php 파일을 인클루드 하였는데요  ̄へ ̄

left_submenu.php 파일:


$query_string = urldecode($_SERVER['QUERY_STRING']);

if(empty($query_string)){
    $url = $_SERVER['PHP_SELF'];
} else {
    $url =$_SERVER['PHP_SELF'] ."?". $query_string;
}
$self = $_SERVER['PHP_SELF'];

$arr = parse_url($url);
parse_str($arr['query'], $results);


현재 주소를 판단하기 위하여 parse_url() 을 사용하였는데, 이 부분에서 에러가 났던 것 같네요.
str_replace() 함수를 응용하여 다른 방식으로 구현을 하였더니, 에러가 나지 않았습니다.
소중한 시간에 답글 남겨주셔서 감사합니다.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 28
© SIRSOFT
현재 페이지 제일 처음으로