카테고리 선택 후 삭제 시 삭제 후 목록 없음 문제 정보
카테고리 선택 후 삭제 시 삭제 후 목록 없음 문제본문
사이트 하나를 그누보드를 이용하여 만들다가 알게된 버그입니다.
목록에서 카테고리를 선택하고 해당 카테고리의 글을 지우면 삭제 후 목록이 나올 때 목록 없음이 나옵니다.
공식 홈페이지인 이곳도 그렇습니다.
원인은 sca 파라이터가 이상한 값으로 넘어간다는 걸 알아냈고요.
urlencode한 값이 자바스크립트의 인자로 넘어갈 때 값이 이상해 진다는 것을 알아냈습니다.
그래서 자바스크립트의 인자로 쓰이는 url은 decode 시켜주었습니다.
view.php의 65줄부터 입니다.
자바스크립트의 안에 들어가는 $qstr를 urldecode($qstr)로 변경하였습니다.
;--------------------------------------------------------------------------
// 수정, 삭제 링크
$update_href = $delete_href = "";
// 로그인중이고 자신의 글이라면 또는 관리자라면 패스워드를 묻지 않고 바로 수정, 삭제 가능
if (($member[mb_id] && ($member[mb_id] == $write[mb_id])) || $is_admin) {
$update_href = "./write.php?w=u&bo_table=$bo_table&wr_id=$wr_id&page=$page" . $qstr;
$delete_href = "javascript:del('./delete.php?bo_table=$bo_table&wr_id=$wr_id&page=$page".urldecode($qstr)."');";
}
else if (!$write[mb_id]) { // 회원이 쓴 글이 아니라면
$update_href = "./password.php?w=u&bo_table=$bo_table&wr_id=$wr_id&page=$page" . $qstr;
$delete_href = "./password.php?w=d&bo_table=$bo_table&wr_id=$wr_id&page=$page" . $qstr;
}
// 최고, 그룹관리자라면 글 복사, 이동 가능
$copy_href = $move_href = "";
if ($write[wr_reply] == "" && ($is_admin == "super" || $is_admin == "group")) {
$copy_href = "javascript:win_open('./move.php?sw=copy&bo_table=$bo_table&wr_id=$wr_id&page=$page".urldecode($qstr)."', 'boardcopy', 'left=50, top=50, width=500, height=550, scrollbars=1');";
$move_href = "javascript:win_open('./move.php?sw=move&bo_table=$bo_table&wr_id=$wr_id&page=$page".urldecode($qstr)."', 'boardmove', 'left=50, top=50, width=500, height=550, scrollbars=1');";
}
2