그누보드 코드 이해안 되는 부분이 있어서 질문드립니다.

그누보드 코드 이해안 되는 부분이 있어서 질문드립니다.

QA

그누보드 코드 이해안 되는 부분이 있어서 질문드립니다.

본문

237894926_1557844298.656.png

 

파일명은 bbs/board.php 파일입니다.

 

블록 친 부분

'./login.php?'.$qstr.'&url='.urlencode(G5_BBS_URL.'/board.php?bo_table='.$bo_table.($qstr?'&':''))

여기에서 .$qstr 이 변수가 검색관련 파라미터라고 알고있는데

 

1.

alert 함수에서 두번쨰 인자(이동할 url) 부분을 볼떄 ./login.php? 파일명 바로 뒤에 $qstr가 붙는 건지 모르겠습니다. 

제가 알기론$qstr변수는 common.php파일에서 &amp(&)로 시작하도록 문자열을 만든걸로 알고 있는데 말이죠..

 

2.

그리고 맨 끝 ($qstr?'&':'') 3항 조건문에서

$qstr이 빈문자열이냐 아니냐에 따라서 &amp(&)를 붙이고 안붙이고를 결정하는 거 같은데

이건 무엇을 의미하는건가요??..

 

 

제가 고민하다가

bbs/board.php내에서 다른 코드부분에서 alert 함수 두번쨰 인자 (이동할 url) 부분을 살펴봤는데

237894926_1557844894.5152.png

 

237894926_1557844934.7182.png

 

이런식으로 뒤에  .$qstr 를 붙이던데...

 

왜 맨위에 말한 부분은 다른걸까요

이 질문에 댓글 쓰기 :

답변 2

먼저 common.php파일에서 $qstr을 찾아 보니

변수값이 존재할 때 마다 쿼리스트링을 이룹니다.

// QUERY_STRING
$qstr = '';
$qstr .= '&sca=' . urlencode($sca);
$qstr .= '&sfl=' . urlencode($sfl); // search field (검색 필드)
$qstr .= '&stx=' . urlencode(cut_str($stx, 20, ''));
$qstr .= '&sst=' . urlencode($sst); // search sort (검색 정렬 필드)
$qstr .= '&sod=' . urlencode($sod);
$qstr .= '&sop=' . urlencode($sop);
$qstr .= '&spt=' . urlencode($spt);
 

즉, $qstr이 단순히 &만은 아니라는 겁니다.

 

그리고 1번 질문에 조금 착각을 하신듯하네요.

board.php파일 해당 부분을 찾아보니

./login.php?wr_id='.$wr_id.$qstr ...... 이렇게 되어 있으니 전혀 문제될게 없습니다.

 

2번 질문도 마찬가지구요.

 

 

일단 답변 감사합니다!!

전 [보안패치]그누보드 5.3.2.8 버전을 다운받고 코드를 수정하지 않았습니다...
스샷을 찍기위해 줄바꿈 만 했구요.
해당부분을 보셨다 했는데 제가 알기론 alert함수 호출 부분들이 많은데...150줄 근처 입니다..ㅜ

$qstr변수에 &만 있다고 말씀 드릴 의도는 아니었구... &로 시작한다고 말씀드린거구용...
그럼 ./login.php?다음에 바로 .$qstr을 붙이면  ./login.php?&로 시작하게되는거 같아서 질문을 올렸습니다. 그리고 뒤에붙은 조건식 ($qstr?'&':'') 의 의미도 물었습니다..

그래서 다른부분들 살펴본결과 $qstr이 맨뒤에 붙어있었습니다ㅜㅜ

저의 생각일 뿐입니다. 예전버전에선 현재와 qstr 처리방식이 달랏습니다. 그리고 매번 버전 업데이트는 소스를 통째로 다시쓰는것이 아니라 업그레이드가 필요한부분부분만 수정하는것일겁니다. 위 같은경우 버전업데이트후 프로그램실행에 문제가 되지않아 예전버전방식으로 사용된걸 발견못하시고 그대로 두신게 아닌가 싶습니다.

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

회원로그인

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