테스트 사이트 - 개발 중인 베타 버전입니다

게시물 끌어올림 점프 기능 문의요~

토토로2514 3년 전 조회 3,909

그누보드 최신버전입니다.

뷰페이지에서 게시물을 점프시키면

아래 코드쪽에서 에러가 나는데 방법이 없을까요?

 

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개

BKH소프트

</p>

<p><?php

if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가</p>

<p>// 최신글로 점프

if ($_GET['cmd'] == 'make_new') {

    if (!$is_admin) {

        // 자신의 글이 아니라면

        if ($member['mb_id'] != $write['mb_id']) {

            alert('자신의 글만 사용할 수 있습니다.');

        }</p>

<p>        // 점프허용 레벨이 아니라면

        if ($member['mb_level'] < $jump_level) {

            alert('권한이 없습니다.');

        }</p>

<p>        // 점프 허용 시간이 아니라면

        if ($jump_date > G5_TIME_YMDHIS) {

            alert('점프 가능 시간이 아닙니다.');

        }</p>

<p>        // 포인트 차감

        if ($member['mb_point'] < $jump_point) {

            alert('포인트가 부족합니다.');

        }

        insert_point($member['mb_id'], $jump_point * (-1), "{$board['bo_subject']} {$wr_id} 점프");

    }</p>

<p>    $wr_num = get_next_num($write_table);</p>

<p>    // 원글 최신글로 날짜도 현재시간으로

    $query = "UPDATE {$write_table} SET wr_num = '{$wr_num}', wr_datetime = '".G5_TIME_YMDHIS."' WHERE wr_id = '{$view['wr_id']}'";

    sql_fetch($query);</p>

<p>    // 해당 답글(댓글)도 최신글로

    // $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);</p>

<p>    // 최신글 캐시 갱신

    delete_cache_latest($bo_table);</p>

<p>    // 점프 후 목록으로 이동

    goto_url('./board.php?bo_table='.$bo_table);

}

?></p>

<p>

 

  • 변수 사용 시 문자열 보간을 사용하여 PHP 배열 요소에 접근할 때는 중괄호({})를 사용합니다.
  • $view[wr_id] 대신 $view['wr_id']로 수정하였습니다. PHP에서 배열 요소 접근 시 문자열로 인덱스를 지정하는 것이 일반적입니다.
  • 쿼리문을 변수에 저장하여 디버깅 시 유용하도록 했습니다.

위의 수정된 코드를 사용해 보시고, 여전히 에러가 발생한다면 에러 메시지를 확인하고 추가적인 디버깅이 필요할 수 있습니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

3년 전

딱히 해당에서 에러 날만한건 안보이는거 같네요. 에러메세지가 필요해보입니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

3년 전

예상되는건 이것뿐이 생각이 안 나는데..
여기에 따옴표 추가해보세요.
{$view[wr_id]}

 

이렇게..
{$view['wr_id']}

 

답글 부분은 주석 처리되어 있어서 상관없어 보이고..

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

플라이
3년 전

에러가 나오는 메세지를 알아야 정확한 답변을 드릴수 있습니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

에러 메시지 내용은 뭔가요?

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인