게시물 끌어올림 점프 기능 문의요~
본문
그누보드 최신버전입니다.
뷰페이지에서 게시물을 점프시키면
아래 코드쪽에서 에러가 나는데 방법이 없을까요?
view.tail.skin.php
<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 최신글로 점프
if ($_GET['cmd'] == 'make_new') {
if (!$is_admin) {
// 자신의 글이 아니라면
if ($member['mb_id'] != $write['mb_id']) {
alert('자신의 글만 사용할 수 있습니다.');
}
// 점프허용 레벨이 아니라면
if ($member['mb_level'] < $jump_level) {
alert('권한이 없습니다.');
}
// 점프 허용 시간이 아니라면
if ($jump_date > G5_TIME_YMDHIS) {
alert('점프 가능 시간이 아닙니다.');
}
// 포인트 차감
if ($member['mb_point'] < $jump_point) {
alert('포인트가 부족합니다.');
}
insert_point($member['mb_id'], $jump_point * (-1), "{$board['bo_subject']} {$wr_id} 점프");
}
$wr_num = get_next_num($write_table);
<에러부분>
// 원글 최신글로 날짜도 현재시간으로
sql_fetch(" update {$write_table} set wr_num = '{$wr_num}',wr_datetime = '".G5_TIME_YMDHIS."' where wr_id = '{$view[wr_id]}' ");
// 해당 답글(댓글)도 최신글로
// sql_fetch(" update {$write_table} set wr_num = '{$wr_num}',wr_datetime = '".G5_TIME_YMDHIS."' where wr_num = '{$view[wr_num]}' ");
<에러부분>
// 최신글 캐시 갱신
delete_cache_latest($bo_table);
// 점프 후 목록으로 이동
goto_url('./board.php?bo_table='.$bo_table);
}
?>
답변 5
에러 메시지 내용은 뭔가요?
에러가 나오는 메세지를 알아야 정확한 답변을 드릴수 있습니다.
예상되는건 이것뿐이 생각이 안 나는데..
여기에 따옴표 추가해보세요.
{$view[wr_id]}
이렇게..
{$view['wr_id']}
답글 부분은 주석 처리되어 있어서 상관없어 보이고..
딱히 해당에서 에러 날만한건 안보이는거 같네요. 에러메세지가 필요해보입니다.
<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 최신글로 점프
if ($_GET['cmd'] == 'make_new') {
if (!$is_admin) {
// 자신의 글이 아니라면
if ($member['mb_id'] != $write['mb_id']) {
alert('자신의 글만 사용할 수 있습니다.');
}
// 점프허용 레벨이 아니라면
if ($member['mb_level'] < $jump_level) {
alert('권한이 없습니다.');
}
// 점프 허용 시간이 아니라면
if ($jump_date > G5_TIME_YMDHIS) {
alert('점프 가능 시간이 아닙니다.');
}
// 포인트 차감
if ($member['mb_point'] < $jump_point) {
alert('포인트가 부족합니다.');
}
insert_point($member['mb_id'], $jump_point * (-1), "{$board['bo_subject']} {$wr_id} 점프");
}
$wr_num = get_next_num($write_table);
// 원글 최신글로 날짜도 현재시간으로
$query = "UPDATE {$write_table} SET wr_num = '{$wr_num}', wr_datetime = '".G5_TIME_YMDHIS."' WHERE wr_id = '{$view['wr_id']}'";
sql_fetch($query);
// 해당 답글(댓글)도 최신글로
// $query_reply = "UPDATE {$write_table} SET wr_num = '{$wr_num}', wr_datetime = '".G5_TIME_YMDHIS."' WHERE wr_num = '{$view['wr_num']}'";
// sql_fetch($query_reply);
// 최신글 캐시 갱신
delete_cache_latest($bo_table);
// 점프 후 목록으로 이동
goto_url('./board.php?bo_table='.$bo_table);
}
?>
- 변수 사용 시 문자열 보간을 사용하여 PHP 배열 요소에 접근할 때는 중괄호(
{}
)를 사용합니다. $view[wr_id]
대신$view['wr_id']
로 수정하였습니다. PHP에서 배열 요소 접근 시 문자열로 인덱스를 지정하는 것이 일반적입니다.- 쿼리문을 변수에 저장하여 디버깅 시 유용하도록 했습니다.
위의 수정된 코드를 사용해 보시고, 여전히 에러가 발생한다면 에러 메시지를 확인하고 추가적인 디버깅이 필요할 수 있습니다.
!-->