관리자가 게시글의 조회수를 임의 변경이 가능하도록 하려고 합니다.

관리자가 게시글의 조회수를 임의 변경이 가능하도록 하려고 검색을 해보니
https://sir.kr/g5_tip/18460?sfl=wr_subject%7C%7Cwr_content&stx=%EC%A1%B0%ED%9A%8C%EC%88%98
글이 있어서 참고하여

write.skin.php 에

 

Copy
<?php if ($is_admin) {  ?>
<!-- 관리자 권한 : 날짜 수정 시작 -->            
<div class="col col-3">
    <label  for="wr_subject" class="label">조회수수정<strong class="sound_only">자동(선택)</strong></label>
    <?php if ($is_admin && $w == "u") { ?>
    <label class="input required-mark">
    <input maxlength="20" size="20" name="wr_hit" itemname="조회수" required value="<?php echo $write['wr_hit']?>">
    </label>
    <?php } ?>       
</div>
<!-- 관리자 권한 : 이름|날짜|조회 수정 끝 -->
<? } ?>

그리고 write_update.skin.php를 생성해서

 

Copy
<?php
//쿼리문 실행
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가 

if($is_admin && $w != "c" && $w == "u"){
    $sql = "update $write_table set wr_hit='$wr_hit' where wr_id='$wr_id' ";
    sql_query($sql);
}
?>

이렇게 만들어 봤는데.... 수정이 안되요~
어디가 잘못된건지 힌트좀 주세요

|

답변 5개 / 댓글 1개

일단 소스 자체에는 큰 문제는 없어 보입니다.

name=wr_hit

대신 다른 이름으로 해 보세요.

그리고 그 이룸(변수)를 update에서 사용해 보세요

답변에 대한 댓글 1개

<input maxlength="20" size="20" name="wr_hit_adj" itemname="조회수" required value="<?php echo $write['wr_hit']?>" />

...

$sql_hit = "update {$write_table} set wr_hit='{$wr_hit_adj}' where wr_id='{$wr['wr_id']}' ";
Copy
<?php
include_once('./_common.php');

//쿼리문 실행
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가 
if($is_admin && $w == "u"){
    $sql_hit = "update {$write_table} set wr_hit='{$wr_hit}' where wr_id='{$wr['wr_id']}' ";
    sql_query($sql_hit);
}
?>

위와 같이 변경해서 한번 해보세요....
만약 그래도 안된다면 $is_admin 값이 나오는지도 점검해 보세요..

업데이트 구문을 실행하려면

접속하는 사람인 내가 $is_admin이 true여야 하고 $w가 u 로 되어야 합니다.

해당하는 조건이 실행되었을때

echo $sql; exit; 해서 쿼리가 제대로 찍히는지 확인해보세요

소스상의 문제는 없어보이나 위의 권한 및 파라미터가 잘못된것 같아요

해당부분 확인하시면될것 같습니다.

딱히 안 될 이유는 없어 보입니다.

혹시 모르니, <? } ?> 코드를 <?php } ?> 코드로 바꿔보시고, 그래도 안 되면 BOOTSTRAP 관련 클래스를 제거해 보세요.

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