qa 질문 게시판

qa 질문 게시판

QA

qa 질문 게시판

답변 4

본문

자신의 글이 아니므로 삭제할수 없다고 오류가 생겼습니다

https://gnustudy.com/bbs/board.php?bo_table=skin_board&wr_id=150 

이 게시글 보고 따라 하였고 스크립트는 아래와 같이 수정 했습니다..

 


<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.$qa_skin_url.'/style.css">', 0);
?>
<div id="bo_list">
    <?php if ($category_option) { ?>
    <!-- 카테고리 시작 { -->
    <nav id="bo_cate">
        <h2><?php echo $qaconfig['qa_title'] ?> 카테고리</h2>
        <ul id="bo_cate_ul">
            <?php echo $category_option ?>
        </ul>
    </nav>
    <!-- } 카테고리 끝 -->
    <?php } ?>
     <!-- 게시판 페이지 정보 및 버튼 시작 { -->
    <div class="bo_fx">
        <div id="bo_list_total">
            <span>Total <?php echo number_format($total_count) ?>건</span>
            <?php echo $page ?> 페이지
        </div>
        <?php if ($admin_href || $write_href) { ?>
        <ul class="btn_bo_user">
            <?php if ($admin_href) { ?><li><a href="<?php echo $admin_href ?>" class="btn_admin">관리자</a></li><?php } ?>
            <?php if ($write_href) { ?><li><a href="<?php echo $write_href ?>" class="btn_b02">문의등록</a></li><?php } ?>
        </ul>
        <?php } ?>
    </div>
    <!-- } 게시판 페이지 정보 및 버튼 끝 -->
    <form name="fqalist" id="fqalist" action="./qadelete.php" onsubmit="return fqalist_submit(this);" method="post">
    <input type="hidden" name="stx" value="<?php echo $stx; ?>">
    <input type="hidden" name="sca" value="<?php echo $sca; ?>">
    <input type="hidden" name="page" value="<?php echo $page; ?>">
    <?php if ($is_checkbox) { ?>
    <div id="list_chk">
        <label for="chkall" class="sound_only">게시물 전체</label>
        <input type="checkbox" id="chkall" onclick="if (this.checked) all_checked(true); else all_checked(false);">
    </div>
    <?php } ?>
    <div class="ul_wrap ul_01">
        <ul>
            <?php
            $update_href = $delete_href = '';
set_session('ss_delete_token', $token = uniqid(time()));
            for ($i=0; $i<count($list); $i++) {
                // 로그인중이고 자신의 글이라면 또는 관리자라면 비밀번호를 묻지 않고 바로 수정, 삭제 가능
if (($member['mb_id'] && ($member['mb_id'] === $list[$i]['mb_id'])) || $is_admin) {
    $update_href = short_url_clean(G5_BBS_URL.'/write.php?w=u&bo_table='.$bo_table.'&wr_id='.$list[$i]['wr_id'].'&page='.$page.$qstr);
    $delete_href ='./delete.php?bo_table='.$bo_table.'&wr_id='.$list[$i]['wr_id'].'&token='.$token.'&page='.$page.urldecode($qstr);
}
else if (!$list[$i]['mb_id']) { // 회원이 쓴 글이 아니라면
    $update_href = './password.php?w=u&bo_table='.$bo_table.'&wr_id='.$list[$i]['wr_id'].'&page='.$page.$qstr;
    $delete_href = './password.php?w=d&bo_table='.$bo_table.'&wr_id='.$list[$i]['wr_id'].'&page='.$page.$qstr;
}
            ?>
            <li class="bo_li<?php if ($is_checkbox) echo ' bo_adm'; ?>">
                <?php if ($is_checkbox) { ?>
                <div class="li_chk">
                    <label for="chk_qa_id_<?php echo $i ?>" class="sound_only"><?php echo $list[$i]['subject']; ?></label>
                    <input type="checkbox" name="chk_qa_id[]" value="<?php echo $list[$i]['qa_id'] ?>" id="chk_qa_id_<?php echo $i ?>">
                </div>
                <?php } ?>
                <div class="li_title">
                    <a href="<?php echo $list[$i]['view_href']; ?>">
                        <strong><?php echo $list[$i]['category']; ?></strong>
                        <?php echo $list[$i]['subject']; ?>
                    </a>
                </div>
                <div class="li_info">
                    <span><?php echo $list[$i]['num']; ?></span>
                    <span><?php echo $list[$i]['name']; ?></span>
                    <span><?php echo $list[$i]['date']; ?></span>
                    <?php if ($delete_href) { ?><a href="<?php echo $delete_href ?>" onclick="del(this.href); return false;">삭제</a><?php } ?>

                    
                    <span><?php echo $list[$i]['icon_file']; ?></span>
                </div>
                <div class="li_stat <?php echo ($list[$i]['qa_status'] ? 'txt_done' : 'txt_rdy'); ?>"><?php echo ($list[$i]['qa_status'] ? '답변완료' : '답변대기'); ?></div>
            </li>
            <?php
            }
            ?>
            <?php if ($i == 0) { echo '<li class="empty_list">게시물이 없습니다.</li>'; } ?>
        </ul>
    </div>
    <div class="bo_fx">
        <?php if ($is_checkbox) { ?>
        <ul class="btn_bo_adm">
            <li><input type="submit" name="btn_submit" value="선택삭제" onclick="document.pressed=this.value"></li>
        </ul>
        <?php } ?>
        <ul class="btn_bo_user">
            <?php if ($list_href) { ?><li><a href="<?php echo $list_href ?>" class="btn_b01">목록</a></li><?php } ?>
            <?php if ($write_href) { ?><li><a href="<?php echo $write_href ?>" class="btn_b02">문의등록</a></li><?php } ?>
        </ul>
    </div>
    </form>
</div>
<?php if($is_checkbox) { ?>
<noscript>
<p>자바스크립트를 사용하지 않는 경우<br>별도의 확인 절차 없이 바로 선택삭제 처리하므로 주의하시기 바랍니다.</p>
</noscript>
<?php } ?>
<!-- 페이지 -->
<?php echo $list_pages;  ?>
<!-- 게시판 검색 시작 { -->
<fieldset id="bo_sch">
    <legend>게시물 검색</legend>
    <form name="fsearch" method="get">
    <input type="hidden" name="sca" value="<?php echo $sca ?>">
    <label for="stx" class="sound_only">검색어<strong class="sound_only"> 필수</strong></label>
    <input type="text" name="stx" value="<?php echo stripslashes($stx) ?>" required id="stx" class="frm_input required" size="15" maxlength="15">
    <input type="submit" value="검색" class="btn_submit">
    </form>
</fieldset>
<!-- } 게시판 검색 끝 -->
<?php if ($is_checkbox) { ?>
<script>
function all_checked(sw) {
    var f = document.fqalist;
    for (var i=0; i<f.length; i++) {
        if (f.elements[i].name == "chk_qa_id[]")
            f.elements[i].checked = sw;
    }
}
function fqalist_submit(f) {
    var chk_count = 0;
    for (var i=0; i<f.length; i++) {
        if (f.elements[i].name == "chk_qa_id[]" && f.elements[i].checked)
            chk_count++;
    }
    if (!chk_count) {
        alert(document.pressed + "할 게시물을 하나 이상 선택하세요.");
        return false;
    }
    if(document.pressed == "선택삭제") {
        if (!confirm("선택한 게시물을 정말 삭제하시겠습니까?\n\n한번 삭제한 자료는 복구할 수 없습니다"))
            return false;
    }
    return true;
}
</script>
<?php } ?>
<!-- } 게시판 목록 끝 -->

이 질문에 댓글 쓰기 :

답변 4

onclick="del(this.href); return false;" 
여기에 대응되는 del 함수가 없네요.
자바스크립트에 del 함수를 추가하시거나 아니면 
onclick="del(this.href); return false;" 
를 삭제하고 테스트 해보십시요

자신의 글"인데

자신의 글이 아니므로 삭제할 수 없다"라고

메시지가 나오는 상황인가요?

소스에 오류가 있네요.

            $update_href = $delete_href = '';
set_session('ss_delete_token', $token = uniqid(time()));
            for ($i=0; $i<count($list); $i++) {

==>


set_session('ss_delete_token', $token = uniqid(time()));
            for ($i=0; $i<count($list); $i++) {
            $update_href = $delete_href = '';

안녕하세요 답글 감사합니다.
            $update_href = $delete_href = '';
set_session('ss_delete_token', $token = uniqid(time()));
            for ($i=0; $i<count($list); $i++) {

위 소스를 아래와 같이 수정해서 똑같이 오류가 발생하세요

set_session('ss_delete_token', $token = uniqid(time()));
            for ($i=0; $i<count($list); $i++) {
            $update_href = $delete_href = '';

올려주신 질문 내용은 QA 페이지고 팁 내용은 게시판 관련 내용입니다.

QA 페이지는 일반적인 게시판이 아니라서 내용 자체가 서로 다르기 때문에 게시판과 관련된 팁 내용들은 애초에 적용이 안 됩니다.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 32
© SIRSOFT
현재 페이지 제일 처음으로