저의 생각이 올은지 모두의 견해 부탁합니다.

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
저의 생각이 올은지 모두의 견해 부탁합니다.

QA

저의 생각이 올은지 모두의 견해 부탁합니다.

본문

그누보드를 사용하는과정에 이런 에러구문을 알게 되였습니다.
아마 실 홈페이지를 운영할때에는 구문오류 같은게 출력되지 않게 환경설정 해놓았을것입니다.
그누보드소스에는 루트폴더/lib/common.lib.php 가 있습니다.
여기서 정의 한 get_params_merge_url() 함수가 자주 호출됩니다.
대표적으로 get_params_merge_url()함수는 모든 홈페이지들의 아랫단에 있는 [PC버전] 또는 [모바일버전] 메뉴 링크를 사용자가 어떤 URL을 호출하든 전체 URL의 맨뒤에 항상 device=mobile 또는 device=pc 쿼리를 덧붙여주는 기능을 수행합니다.
그런데 그 함수정의부분을 보면 
if($_SERVER['QUERY_STRING']) {
        foreach($_GET as $key=>$val) {
            $key = strip_tags($key);
            $val = strip_tags($val);

            if($key && $val)
                $q[$key] = $val;
        }
    }

와 같은 로직이 있습니다.
저는 이런 쿼리를 실행해보았습니다.
http://.../g5/?view[]=v

이렇게 했더니 홈페이지 맨 밑단에 [PC버전] 또는 [모바일버전] 메뉴대신에 에러구문이 출력됩니다.
( ! ) Warning: strip_tags() expects parameter 1 to be string, array given in D:\workspace\www\eshop\lib\common.lib.php on line 3440 Call Stack #TimeMemoryFunctionLocation 10.2014404056{main}( )...\index.php:0 20.25371650696require_once( 'D:\workspace\www\eshop\theme\basic\index.php' )...\index.php:8 30.45651873832include_once( 'D:\workspace\www\eshop\theme\basic\tail.php' )...\index.php:67 40.46321880040get_device_change_url( )...\tail.php:30 50.46321880312get_params_merge_url( )...\common.lib.php:3470 60.46321881032
strip_tags
( )...\common.lib.php:3440 http://localhost/eshop/?device=mobile">모바일버전

그래서 이것을 저는 이렇게 수정하였습니다.

function get_params_merge_url($params){
    $href = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
    $add = http_build_query($params, '', '&');
    if($_SERVER['QUERY_STRING']) {
        $href .= '&'.$add;
    } else {
        $href .= '?'.$add;
    }
    return $href;
}

그랬더니 잘 작동하더라구요...

이 질문에 댓글 쓰기 :

답변 1

답변을 작성하시기 전에 로그인 해주세요.
전체 60,042
QA 내용 검색

회원로그인

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