잘못된 부분 찾아주세요

잘못된 부분 찾아주세요

QA

잘못된 부분 찾아주세요

본문

게시물을 맨아래로 내리는 소스입니다.

 

...

    <div id="bo_v_top">
        <ul class="bo_v_com">
            <?php if ($jump_href) { ?><a href="<?php echo $jump_href ?>" class="btn btn-red btn-xs<?php echo $jump_css ?>" onclick="return confirm('이글을 최신글로 만들까요?')">재등록</a><?php } ?>
            <?php if ($jump_back_href) { ?><a href="#" class="btn btn-red btn-xs<?php echo $jump_back_css ?>" onclick="make_back();">맨뒤등록</a><?php } ?>    
        </ul>
        
    </div>    

 

...

 

 

<SCRIPT LANGUAGE="JavaScript">
<!--
function make_back() {

if($insert_num && $insert_num >0) {
$insert_num--;
   $row2 =sql_fetch(" select wr_num from $write_table where wr_is_comment = 0 order by wr_num DESC limit $insert_num, 1 ");
   $move_wr_num= $row2[wr_num];
   
   if($w =='') $pre_wr_num= $wr_num;
   else {
     $row3 = sql_fetch(" select wr_num from $write_table where wr_id= '$wr_id' ");
     $pre_wr_num= $row3[wr_num];
   }

//    echo "<br>///check/////////////1.m_wr_num= $move_wr_num ///pre_wr_num= $pre_wr_num";     exit;

   if( $move_wr_num ) 
       sql_query("update $write_table set wr_num = wr_num - 1 where wr_num<= $move_wr_num " );
   else $move_wr_num = get_next_num($write_table);

   if($move_wr_num> $pre_wr_num) $pre_wr_num--;

   sql_query("update $write_table set wr_num = $move_wr_num where wr_num= '$pre_wr_num' " );   

}

}

-->
</script>

이 질문에 댓글 쓰기 :

답변 5

JavaScript 

안에서 

php 정의를 안하고

if($insert_num &&

$식의 변수 및 함수를 못쓰는 걸로알고잇는데요

자바스크립트 안에 db 쿼리를 적용한다는 것이 틀린 부분입니다. ^^

이런 경우 는...

 

<div id="bo_v_top">
    <ul class="bo_v_com">
        <?php if ($jump_href) { ?><a href="<?php echo $jump_href ?>" class="btn btn-red btn-xs<?php echo $jump_css ?>" onclick="return confirm('이글을 최신글로 만들까요?')">재등록</a><?php } ?>
        <?php if ($jump_back_href) { ?><a href="#" class="btn btn-red btn-xs<?php echo $jump_back_css ?>" onclick="make_back('<?=$insert_num?>');">맨뒤등록</a><?php } ?>    
    </ul>
</div> 


// bbs 경로에 xxx.php 새로 만드세요
<?
include_once("./_common.php");

$insert_num = $_POST['insert_num'];
$write_table = $_POST['write_table'];


if($insert_num && $insert_num > 0) {
$insert_num--;
   $row2 =sql_fetch(" select wr_num from $write_table where wr_is_comment = 0 order by wr_num DESC limit $insert_num, 1 ");
   $move_wr_num= $row2[wr_num];
   
   if($w =='') {
       $pre_wr_num = $wr_num;
   } else {
     $row3 = sql_fetch(" select wr_num from $write_table where wr_id= '$wr_id' ");
     $pre_wr_num= $row3[wr_num];
   }

//    echo "<br>///check/////////////1.m_wr_num= $move_wr_num ///pre_wr_num= $pre_wr_num";     exit;

   if( $move_wr_num ) {
       sql_query("update $write_table set wr_num = wr_num - 1 where wr_num<= $move_wr_num " );
   } else {
       $move_wr_num = get_next_num($write_table);
   }

   if($move_wr_num> $pre_wr_num) $pre_wr_num--;

   sql_query("update $write_table set wr_num = $move_wr_num where wr_num= '$pre_wr_num' " );   

}

$msg = "등록 되었습니다.";

die("{\"msg\":\"$msg\"}");
?>

//본문 문서 아래 추가 하세요
<script>
function make_back(in_num) {
    var write_table_name = "<?=$write_table?>";
    $.ajax({
        url: g5_bbs_url+"/xxx.php",
        type: "POST",
        data: {
            insert_num : ""+in_num+"",
            write_table : ""+write_table_name+""
        },
        dataType: "json",
        async: false,
        cache: false,
        success: function(data) {
            alert(data.msg);    //리턴 결과 메세지
            location.reload(); //새로고침
        },
        error : function(data, status) {
            alert("데이타 접근에 실패 하였습니다."); return true;
        }
    });
}
</script>

ajax 스크립트 소스에서  location.reload(); //새로고침 주석처리 하신 후

크롬 개발자환경 DevTool 열어놓으신 상태에서 실행처리 해보세요 그러신 후 데이터오류 뜨면 Network > Preview 확인 해보세요

"데이타 접근에 실패 하였습니다." 오류만 뜨네요 ㅠㅠㅠㅠ

 

view.skin.php  // 보드 스킨 파일

 

 

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

$attach_list = '';
if ($view['link']) {
    // 링크
    for ($i=1; $i<=count($view['link']); $i++) {
        if ($view['link'][$i]) {
            $attach_list .= '<a class="list-group-item break-word" href="'.$view['link_href'][$i].'" target="_blank">';
            $attach_list .= '<span class="label label-warning pull-right view-cnt">'.number_format($view['link_hit'][$i]).'</span>';
            $attach_list .= '<i class="fa fa-link"></i> '.cut_str($view['link'][$i], 70).'</a>'.PHP_EOL;
        }
    }
}

// 가변 파일
$j = 0;
for ($i=0; $i<count($view['file']); $i++) {
    if (isset($view['file'][$i]['source']) && $view['file'][$i]['source'] && !$view['file'][$i]['view']) {
        if ($board['bo_download_point'] < 0 && $j == 0) {
            $attach_list .= '<a class="list-group-item"><i class="fa fa-bell red"></i> 다운로드시 <b>'.number_format(abs($board['bo_download_point'])).'</b>'.AS_MP.' 차감 (최초 1회 / 재다운로드시 차감없음)</a>'.PHP_EOL;
        }
        $file_tooltip = '';
        if($view['file'][$i]['content']) {
            $file_tooltip = ' data-original-title="'.strip_tags($view['file'][$i]['content']).'" data-toggle="tooltip"';
        }
        $attach_list .= '<a class="list-group-item break-word view_file_download at-tip" href="'.$view['file'][$i]['href'].'"'.$file_tooltip.'>';
        $attach_list .= '<span class="label label-primary pull-right view-cnt">'.number_format($view['file'][$i]['download']).'</span>';
        $attach_list .= '<i class="fa fa-download"></i> '.$view['file'][$i]['source'].' ('.$view['file'][$i]['size'].')  ';
        $attach_list .= '<span class="en font-11 text-muted"><i class="fa fa-clock-o"></i> '.apms_datetime(strtotime($view['file'][$i]['datetime']), "Y.m.d").'</span></a>'.PHP_EOL;
        $j++;
    }
}

// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css" media="screen">', 0);

// 최신글로 점프
$jump_date = date('Y-m-d H:i:s', strtotime($view['wr_datetime'] . ' +12 hours')); // 점프허용 날짜(12시간 후)
$jump_level = 2; // 점프허용 레벨 (2레벨 이상)
$jump_point = 1; // 포인트 차감

// 점프버튼 링크
$jump_href = '';
$jump_back_href = '';
if(($member['mb_id'] == $write['mb_id'] && $member['mb_level'] >= $jump_level) || $is_admin) {
    if ($is_admin) {
        $jump_href = './board.php?bo_table='.$bo_table.'&wr_id='.$wr_id.'&cmd=make_new';
        $insert_num = '1';
        $jump_back_href = './board.php?bo_table='.$bo_table.'&wr_id='.$wr_id.'&cmd=make_back';
        $jump_css = ' jump';
    } else {
        if ($jump_date > G5_TIME_YMDHIS) {
            $jump_href = "javascript:alert('점프 가능 시간({$jump_date})이 아닙니다.')";
        } else if ($member['mb_point'] < $jump_point) {
            $jump_href = "javascript:alert('포인트가 부족합니다. (점프포인트:{$jump_point})')";    
        } else {
            $jump_href = './board.php?bo_table='.$bo_table.'&wr_id='.$wr_id.'&cmd=make_new';
            $insert_num = '1';
            $jump_back_href = './board.php?bo_table='.$bo_table.'&wr_id='.$wr_id.'&cmd=make_back';
            $jump_css = ' jump';
        }
    }
}
?>

<?php if($boset['video']) { ?>
    <style>.view-wrap .apms-autowrap { max-width:<?php echo (G5_IS_MOBILE) ? '100%' : $boset['video'];?> !important;}</style>
<?php } ?>
<script src="<?php echo G5_JS_URL; ?>/viewimageresize.js"></script>

<div class="view-wrap<?php echo (G5_IS_MOBILE) ? ' view-mobile font-14' : '';?>">
    <h1><?php if($view['photo']) { ?><img src="<?php echo $view['photo'];?>" class="photo" alt=""><?php } ?><?php echo cut_str(get_text($view['wr_subject']), 70); ?></h1>
    <div class="panel panel-default view-head<?php echo ($attach_list) ? '' : ' no-attach';?>">
        <div class="panel-heading">
            <div class="font-12 text-muted">
                <i class="fa fa-user"></i>
                <?php echo $view['name']; //등록자 ?><?php echo ($is_ip_view) ? '<span class="print-hide hidden-xs"> ('.$ip.')</span>' : ''; ?>
                <?php if($view['ca_name']) { ?>
                    <span class="hidden-xs">
                        <span class="sp"></span>
                        <i class="fa fa-tag"></i>
                        <?php echo $view['ca_name']; //분류 ?>
                    </span>
                <?php } ?>

                <span class="sp"></span>
                <i class="fa fa-comment"></i>
                <?php echo ($view['wr_comment']) ? '<b class="red">'.number_format($view['wr_comment']).'</b>' : 0; //댓글수 ?>

                <span class="sp"></span>
                <i class="fa fa-eye"></i>
                <?php echo number_format($view['wr_hit']); //조회수 ?>

                <span class="pull-right">
                    <i class="fa fa-clock-o"></i>
                    <?php echo apms_date($view['date'], 'orangered'); //시간 ?>
                </span>
            </div>
        </div>
       <?php
            if($attach_list) {
                echo '<div class="list-group font-12">'.$attach_list.'</div>'.PHP_EOL;
            }
        ?>
    </div>

    <?php if ($is_torrent) echo apms_addon('torrent-basic'); // 토렌트 파일정보 ?>

    <?php
        // 이미지 상단 출력
        $v_img_count = count($view['file']);
        if($v_img_count && $is_img_head) {
            echo '<div class="view-img">'.PHP_EOL;
            for ($i=0; $i<=count($view['file']); $i++) {
                if ($view['file'][$i]['view']) {
                    echo get_view_thumbnail($view['file'][$i]['view']);
                }
            }
            echo '</div>'.PHP_EOL;
        }
     ?>

    <div class="view-content">
        <?php echo get_view_thumbnail($view['content']); ?>
    </div>

    <?php
        // 이미지 하단 출력
        if($v_img_count && $is_img_tail) {
            echo '<div class="view-img">'.PHP_EOL;
            for ($i=0; $i<=count($view['file']); $i++) {
                if ($view['file'][$i]['view']) {
                    echo get_view_thumbnail($view['file'][$i]['view']);
                }
            }
            echo '</div>'.PHP_EOL;
        }
    ?>

    <?php if ($good_href || $nogood_href) { ?>
        <div class="print-hide view-good-box">
            <?php if ($good_href) { ?>
                <span class="view-good">
                    <a href="#" onclick="apms_good('<?php echo $bo_table;?>', '<?php echo $wr_id;?>', 'good', 'wr_good'); return false;">
                        <b id="wr_good"><?php echo number_format($view['wr_good']) ?></b>
                        <br>
                        <i class="fa fa-thumbs-up"></i>
                    </a>
                </span>
            <?php } ?>
            <?php if ($nogood_href) { ?>
                <span class="view-nogood">
                    <a href="#" onclick="apms_good('<?php echo $bo_table;?>', '<?php echo $wr_id;?>', 'nogood', 'wr_nogood'); return false;">
                        <b id="wr_nogood"><?php echo number_format($view['wr_nogood']) ?></b>
                        <br>
                        <i class="fa fa-thumbs-down"></i>
                    </a>
                </span>
            <?php } ?>
        </div>
        <p></p>
    <?php } ?>

    <?php if ($is_tag) { // 태그 ?>
        <p class="view-tag font-12"><i class="fa fa-tags"></i> <?php echo $tag_list;?></p>
    <?php } ?>

    <div id="bo_v_top">
        <ul class="bo_v_com">
            <?php if ($jump_href) { ?><a href="<?php echo $jump_href ?>" class="btn btn-red btn-xs<?php echo $jump_css ?>" onclick="return confirm('이글을 최신글로 만들까요?')">재등록</a><?php } ?>
            <?php if ($jump_back_href) { ?><a href="#" class="btn btn-red btn-xs<?php echo $jump_back_css ?>" onclick="make_back('<?=$insert_num?>');">맨뒤등록</a><?php } ?>    
        </ul>
        
    </div>    
        
    <div class="print-hide view-icon">
        <div class="pull-right">
            <div class="form-group">
                <button onclick="apms_print();" class="btn btn-black btn-xs"><i class="fa fa-print"></i> <span class="hidden-xs">프린트</span></button>
                <?php if ($scrap_href) { ?>
                    <a href="<?php echo $scrap_href;  ?>" target="_blank" class="btn btn-black btn-xs" onclick="win_scrap(this.href); return false;"><i class="fa fa-tags"></i> <span class="hidden-xs">스크랩</span></a>
                <?php } ?>
                <?php if ($is_shingo) { ?>
                    <button onclick="apms_shingo('<?php echo $bo_table;?>', '<?php echo $wr_id;?>');" class="btn btn-black btn-xs"><i class="fa fa-bell"></i> <span class="hidden-xs">신고</span></button>
                <?php } ?>
                <?php if ($is_admin) { ?>
                    <?php if ($view['is_lock']) { // 글이 잠긴상태이면 ?>
                        <button onclick="apms_shingo('<?php echo $bo_table;?>', '<?php echo $wr_id;?>', 'unlock');" class="btn btn-black btn-xs"><i class="fa fa-unlock"></i> <span class="hidden-xs">해제</span></button>
                    <?php } else { ?>
                        <button onclick="apms_shingo('<?php echo $bo_table;?>', '<?php echo $wr_id;?>', 'lock');" class="btn btn-black btn-xs"><i class="fa fa-lock"></i> <span class="hidden-xs">잠금</span></button>
                    <?php } ?>
                <?php } ?>
            </div>
        </div>
        <div class="pull-left">
            <div class="form-group">
                <?php include_once(G5_SNS_PATH."/view.sns.skin.php"); // SNS ?>
            </div>
        </div>
        <div class="clearfix"></div>
    </div>

    <?php if($is_signature) echo apms_addon('sign-basic'); // 회원서명 ?>

    <h3 class="view-comment">Comments</h3>
    <?php include_once('./view_comment.php'); ?>

    <div class="clearfix"></div>

    <div class="print-hide view-btn text-right">
        <div class="btn-group">
            <?php if ($prev_href) { ?>
                <a href="<?php echo $prev_href ?>" class="btn btn-black btn-sm" title="이전글">
                    <i class="fa fa-chevron-circle-left"></i><span class="hidden-xs"> 이전</span>
                </a>
            <?php } ?>
            <?php if ($next_href) { ?>
                <a href="<?php echo $next_href ?>" class="btn btn-black btn-sm" title="다음글">
                    <i class="fa fa-chevron-circle-right"></i><span class="hidden-xs"> 다음</span>
                </a>
            <?php } ?>
            <?php if ($copy_href) { ?>
                <a href="<?php echo $copy_href ?>" class="btn btn-black btn-sm" onclick="board_move(this.href); return false;" title="복사">
                    <i class="fa fa-clipboard"></i><span class="hidden-xs"> 복사</span>
                </a>
            <?php } ?>
            <?php if ($move_href) { ?>
                <a href="<?php echo $move_href ?>" class="btn btn-black btn-sm" onclick="board_move(this.href); return false;" title="이동">
                    <i class="fa fa-share"></i><span class="hidden-xs"> 이동</span>
                </a>
            <?php } ?>
            <?php if ($delete_href) { ?>
                <a href="<?php echo $delete_href ?>" class="btn btn-black btn-sm" title="삭제" onclick="del(this.href); return false;">
                    <i class="fa fa-times"></i><span class="hidden-xs"> 삭제</span>
                </a>
            <?php } ?>
            <?php if ($update_href) { ?>
                <a href="<?php echo $update_href ?>" class="btn btn-black btn-sm" title="수정">
                    <i class="fa fa-plus"></i><span class="hidden-xs"> 수정</span>
                </a>
            <?php } ?>
            <?php if ($search_href) { ?>
                <a href="<?php echo $search_href ?>" class="btn btn-black btn-sm">
                    <i class="fa fa-search"></i><span class="hidden-xs"> 검색</span>
                </a>
            <?php } ?>
            <a href="<?php echo $list_href ?>" class="btn btn-black btn-sm">
                <i class="fa fa-bars"></i><span class="hidden-xs"> 목록</span>
            </a>
            <?php if ($reply_href) { ?>
                <a href="<?php echo $reply_href ?>" class="btn btn-black btn-sm">
                    <i class="fa fa-comments"></i><span class="hidden-xs"> 답변</span>
                </a>
            <?php } ?>
            <?php if ($write_href) { ?>
                <a href="<?php echo $write_href ?>" class="btn btn-color btn-sm">
                    <i class="fa fa-pencil"></i><span class="hidden-xs"> 글쓰기</span>
                </a>
            <?php } ?>
        </div>
        <div class="clearfix"></div>
    </div>
</div>
<script>
function board_move(href){
    window.open(href, "boardmove", "left=50, top=50, width=500, height=550, scrollbars=1");
}
    
$(function() {
    $("a.view_image").click(function() {
        window.open(this.href, "large_image", "location=yes,links=no,toolbar=no,top=10,left=10,width=10,height=10,resizable=yes,scrollbars=no,status=no");
        return false;
    });
    <?php if ($board['bo_download_point'] < 0) { ?>
    $("a.view_file_download").click(function() {
        if(!g5_is_member) {
            alert("다운로드 권한이 없습니다.\n회원이시라면 로그인 후 이용해 보십시오.");
            return false;
        }

        var msg = "파일을 다운로드 하시면 포인트가 차감(<?php echo number_format($board['bo_download_point']) ?>점)됩니다.\n\n포인트는 게시물당 한번만 차감되며 다음에 다시 다운로드 하셔도 중복하여 차감하지 않습니다.\n\n그래도 다운로드 하시겠습니까?";

        if(confirm(msg)) {
            var href = $(this).attr("href")+"&js=on";
            $(this).attr("href", href);

            return true;
        } else {
            return false;
        }
    });
    <?php } ?>
});

</script>

<script>
function make_back(in_num) {
    var write_table_name = "<?=$write_table?>";
    $.ajax({
        url: g5_bbs_url+"/make_back.php",
        type: "POST",
        data: {
            insert_num : ""+in_num+"",
            write_table : ""+write_table_name+""
        },
        dataType: "json",
        async: false,
        cache: false,
        success: function(data) {
            alert(data.msg);    //리턴 결과 메세지
            location.reload(); //새로고침
        },
        error : function(data, status) {
            alert("데이타 접근에 실패 하였습니다."); return true;
        }
    });
}
</script>

 

 

 

 

 

 

make_back.php  // bbs 폴더 안에

 

<?
include_once("./_common.php");

$insert_num = $_POST['insert_num'];
$write_table = $_POST['write_table'];

if($insert_num && $insert_num > 0) {
$insert_num--;
   $row2 =sql_fetch(" select wr_num from $write_table where wr_is_comment = 0 order by wr_num DESC limit $insert_num, 1 ");
   $move_wr_num= $row2[wr_num];
   
   if($w =='') {
       $pre_wr_num = $wr_num;
   } else {
     $row3 = sql_fetch(" select wr_num from $write_table where wr_id= '$wr_id' ");
     $pre_wr_num= $row3[wr_num];
   }

//    echo "<br>///check/////////////1.m_wr_num= $move_wr_num ///pre_wr_num= $pre_wr_num";     exit;

   if( $move_wr_num ) {
       sql_query("update $write_table set wr_num = wr_num - 1 where wr_num<= $move_wr_num " );
   } else {
       $move_wr_num = get_next_num($write_table);
   }

   if($move_wr_num> $pre_wr_num) $pre_wr_num--;

   sql_query("update $write_table set wr_num = $move_wr_num where wr_num= '$pre_wr_num' " );   

}

$msg = "등록 되었습니다.";

die("{\"msg\":\"$msg\"}");
?>

 

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

회원로그인

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