
파일명은 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파일에서 &(&)로 시작하도록 문자열을 만든걸로 알고 있는데 말이죠..
2.
그리고 맨 끝 ($qstr?'&':'') 3항 조건문에서
$qstr이 빈문자열이냐 아니냐에 따라서 &(&)를 붙이고 안붙이고를 결정하는 거 같은데
이건 무엇을 의미하는건가요??..
제가 고민하다가
bbs/board.php내에서 다른 코드부분에서 alert 함수 두번쨰 인자 (이동할 url) 부분을 살펴봤는데


이런식으로 뒤에 .$qstr 를 붙이던데...
왜 맨위에 말한 부분은 다른걸까요
답변 2개 / 댓글 3개
먼저 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번 질문도 마찬가지구요.
답변에 대한 댓글 2개
저의 생각일 뿐입니다. 예전버전에선 현재와 qstr 처리방식이 달랏습니다. 그리고 매번 버전 업데이트는 소스를 통째로 다시쓰는것이 아니라 업그레이드가 필요한부분부분만 수정하는것일겁니다. 위 같은경우 버전업데이트후 프로그램실행에 문제가 되지않아 예전버전방식으로 사용된걸 발견못하시고 그대로 두신게 아닌가 싶습니다.
답변에 대한 댓글 1개
답변을 작성하려면 로그인이 필요합니다.
전 [보안패치]그누보드 5.3.2.8 버전을 다운받고 코드를 수정하지 않았습니다...
스샷을 찍기위해 줄바꿈 만 했구요.
해당부분을 보셨다 했는데 제가 알기론 alert함수 호출 부분들이 많은데...150줄 근처 입니다..ㅜ
$qstr변수에 &만 있다고 말씀 드릴 의도는 아니었구... &로 시작한다고 말씀드린거구용...
그럼 ./login.php?다음에 바로 .$qstr을 붙이면 ./login.php?&로 시작하게되는거 같아서 질문을 올렸습니다. 그리고 뒤에붙은 조건식 ($qstr?'&':'') 의 의미도 물었습니다..
그래서 다른부분들 살펴본결과 $qstr이 맨뒤에 붙어있었습니다ㅜㅜ