글삭제 문의 드립니다(숙박예약스킨)

글삭제 문의 드립니다(숙박예약스킨)

QA

글삭제 문의 드립니다(숙박예약스킨)

본문

https://sir.kr/bbs/board.php?bo_table=g4_skin&wr_id=61832&sca=&sfl=wr_subject%7C%7Cwr_content&stx=%EA%B0%9D%EC%8B%A4+%EC%98%88%EC%95%BD

 

위 스킨을 사용하고 있습니다.

 

아미나로 적용해서 사용하려고 하는데 아미나에 있는 현재 동일한 스킨은 예전버전이라 그런지 안되서 위에 스킨을 아미나로 변환해서 사용하려고 합니다.

[ 현재 아미나에 있는 동일한 스킨

http://amina.co.kr/bbs/board.php?bo_table=skin_member&wr_id=1062&sfl=wr_subject&stx=%EC%98%88%EC%95%BD&sop=and ]

 

다른건 모두 변환해서 정상적으로 되는데 예약자와 관리자가 예약 내용을 보고 "예약취소"하려고 하면 아무 반응이 없는데 아래 소스 보시고 고수님들 부탁드립니다.

삭제가 안될때 어떤것을 먼져 체크해 봐야 할까요? ㅠㅠ

 

아래는 view.skin.php파일 소스 입니다.

아미나버젼은 AMINA+1.7.9+-+G5.2.6 입니다.

 

----------------------------------

<?php

 

// 스킨파일은 단독으로 실행할 수 없다

if(defined('_GNUBOARD_') == false)

{

    exit('스킨파일은 단독으로 실행할 수 없습니다.');

}

 

// 프로그램 연산에 필요한 선행함수를 실행한다

include_once($board_skin_path . '/skin.function.php');

 

?>

 

<script src="<?php echo $board_skin_url; ?>/script.js"></script>

<link rel="stylesheet" href="<?php echo $board_skin_url; ?>/style.css">

<div id="mara_view" style="width:<?php echo $width; ?>;">

    <h2 class="status"><span></span></h2>

    <table>

    <caption>객실예약내역</caption>

    <colgroup>

        <col class="rm_grid_4"><!-- 20% -->

        <col class="rm_grid_6"><!-- 30% -->

        <col class="rm_grid_4"><!-- 20% -->

        <col class="rm_grid_6"><!-- 30% -->

    </colgroup>

    <tbody>

    <tr>

        <th scope="row">객실이름</th>

        <td><?php echo cut_hangul_last(get_text($view[wr_subject])); ?></td>

        <th scope="row">예약일자</th>

        <td><?php echo $view['wr_datetime']; ?></td>

    </tr>

    <tr>

        <th scope="row">예약자이름</th>

        <td><strong><?php echo $view['name']; ?></strong></td>

        <th scope="row">예약자연락처</th>

        <td><?php echo $view['wr_homepage']; ?></td>

    </tr>

    <tr>

        <th scope="row">숙박일자</th>

        <td><?php echo $view['wr_1']; ?> ~ <?php echo $view['wr_2']; ?></td>

        <th scope="row">숙박기간/인원</th>

        <td><?php echo $view['wr_3']; ?>박 <?php echo $view['wr_3'] + 1; ?>일 / <?php echo $view['wr_4']; ?>명</td>

    </tr>

    <tr>

        <th scope="row">이용금액</th>

        <td><strong class="red"><?php echo number_format($view['wr_6']); ?>원</strong></td>

        <th scope="row" style="color:#003399;font-weight:600;">현재상태</th>

        <td  style="color:#003399;font-weight:600;"><?php if($view['wr_7'] == 'T'){ echo '예약완료[입금완료]'; } else{ echo '예약접수[입금전]'; }?></td>

    </tr>

    <tr>

        <th scope="row">메모</th>

        <td colspan="3"><?php echo $view['content']; ?></td>

    </tr>

    </tbody>

    </table><br>

 

 

    <h2 class="guide"><span></span></h2>

    <ol class="explain">

        <li>예약신청이 완료된 후 <span><?php echo $board['bo_6']; ?>일 이내에 입금</span>이 확인되지 않으면 별도의 확인절차없이 예약은 취소됩니다.</li>

        <li>입금 이전에 예약내용을 수정하시려면 기존의 예약을 취소하고 다시 예약해주시기 바랍니다.<br>(한번에 여러개의 객실을 예약하였을 경우 객실마다 취소를 해야하며 일부 객실만 취소할 수도 있습니다)</li>

        <li>입금 이후에 예약내용을 수정하시거나 취소하시려면 전화로 문의해주세요.</li>

        <li><font color="#003399" style="font-weight:600">무통장입금 계좌번호안내 : <?php echo $board['bo_10']; ?></font></li>

    </ol><br>

<br>

 

  <div class="btn-group">

        <?php if($is_admin){ ?>

        <a href="#none" onclick="checkFinish('<?php echo $view['wr_7']; ?>', '<?php echo "{$board_skin_url}/finish.control.php?bo_table={$bo_table}&wr_id={$wr_id}&page={$page}"; ?>');"  class="btn btn-black btn-sm" >

            <i class="fa fa-check big-fa"></i><span class="hidden-xs"> 예약완료</span>

        </a>

<?php if ($next_href) { ?>

<a href="<?php echo $next_href ?>" class="btn btn-black btn-sm" title="다음글">

<i class="fa fa-chevron-circle-right big-fa"></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 big-fa"></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 big-fa"></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 big-fa"></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 big-fa"></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 big-fa"></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 big-fa"></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 big-fa"></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 big-fa"></i><span class="hidden-xs"> 예약하기</span></a>

<?php } ?>

            <?php } else{ ?>

        <a href="<?php echo $write_href; ?>"><img src="<?php echo $board_skin_url; ?>/img/b_write.gif" alt="예약하기"></a>

        <?php if($view['wr_7'] == 'T'){ echo "<a href=\"#none\" onclick=\"window.alert('입금 이후에 예약내용을 취소하시려면 전화로 문의해주세요.');\">"; } else { echo "<a href=\"{$delete_href}\" onfocus=\"this.blur();\">"; }?><img src="<?php echo $board_skin_url; ?>/img/b_delete.gif" alt="예약취소"></a>

            <?php } ?>

  </div>

   

</div>

--------------------------------------

 

 

############################################

script.js파일 소스

 

function movePage(select)
{
    if(select)
    {
        document.location.replace("?bo_table=" + g5_bo_table + "&select=" + select);
    }
    else
    {
        window.alert("이용할 수 없는 예약일자를 선택하였습니다.");
    }
    return;
}

function all_checked(sw)
{
    var f = document.fboardlist;
    for(var i = 0; i < f.length; i++)
    {
        if(f.elements[i].name == "chk_wr_id[]") f.elements[i].checked = sw;
    }
    return;
}

function check_confirm(str)
{
    var f = document.fboardlist;
    var chk_count = 0;
    for(var i = 0; i < f.length; i++)
    {
        if(f.elements[i].name == "chk_wr_id[]" && f.elements[i].checked) chk_count++;
    }
    if(!chk_count)
    {
        alert(str + "할 예약내역을 선택하세요.");
        return false;
    }
    return true;
}

function select_delete()
{
    var f = document.fboardlist;
    str = "취소";
    if(!check_confirm(str)) return;
    if(!confirm("선택한 예약내역을 정말로 "+str+"하시겠습니까?")) return;
    f.action = "./delete_all.php";
    f.submit();
}

function select_copy(sw)
{
    var f = document.fboardlist;
    if(sw == "copy") str = "복사";
    else str = "이동";
    if(!check_confirm(str)) return;
    var sub_win = window.open("", "move", "left=50, top=50, width=500, height=550, scrollbars=1");
    f.sw.value = sw;
    f.target = "move";
    f.action = "./move.php";
    f.submit();
}

function selectFinish()
{
    var f = document.fboardlist;
    var str = "완료";
    if(!check_confirm(str)) return;
    if(!confirm("선택한 내역을 정말로 예약완료로 처리하시겠습니까?")) return;
    f.sw.value = "true";
    f.action = g5_bbs_skin_url + "/finish.control.php";
    f.submit();
}

function checkFinish(type, page)
{
    if(type == "T")
    {
        window.alert("해당내역은 이미 예약완료로 처리되었습니다.");
    }
    else
    {
        if(window.confirm("해당내역을 예약완료로 처리하시겠습니까?") == true)
        {
            document.location.replace(page);
        }
    }
    return;
}

function checkPrice(wr_id)
{
    var select = document.forms["fwrite"]["select"].value;
    var use = document.forms["fwrite"]["use[" + wr_id + "]"].value;
    var stay = document.forms["fwrite"]["stay[" + wr_id + "]"].value;
    var person = document.forms["fwrite"]["person[" + wr_id + "]"].value;

    if(use)
    {
        window.alert("선택하신 객실은 예약이 불가능합니다.");
        return false;
    }

/*    var request = create_request();
    request.onreadystatechange = function()
    {
        if(request.readyState == 4)
        {
            if(request.status == 200)
            {
                document.getElementById("price[" + wr_id + "]").innerHTML = request.responseText;
                checkTotal();
            }
            else
            {
                window.alert(request.status);
                window.alert("프로그램 오류가 발생하였습니다.");
            }
        }
    }

    request.open("post", g5_bbs_skin_url + "/check.ajax.php", true);
    request.setRequestHeader("content-type", "application/x-www-form-urlencoded");
    request.send("bo_table=" + g5_bo_table + "&wr_id=" + wr_id + "&select=" + select + "&stay=" + stay + "&person=" + person);
    return;*/
    $.post(g5_bbs_skin_url + "/check.ajax.php", {bo_table:g5_bo_table, wr_id:wr_id, select:select, stay:stay, person:person}, function(obj){
        document.getElementById("price[" + wr_id + "]").innerHTML = obj;
        checkTotal();
    });
}

function checkTotal()
{
    var total = 0;
    var result = 0;
    var form = document.getElementById("mara_write");
    var max = form.length;
    for(var i = 0; i < max; i++)
    {
        if(form.elements[i].name == "room[]" && form.elements[i].checked == true)
        {
            var wr_id = form.elements[i].value;
            var price = document.getElementById("price[" + wr_id + "]").innerHTML.replace(/,/g, "");
            total += parseInt(price);
            result++;
        }
    }
    document.getElementById("total").innerHTML = getComma(total);
    return result;
}

function checkWrite()
{
    if(checkTotal() == 0)
    {
        window.alert("예약할 객실을 하나 이상 선택해주세요.");
        return false;
    }

    var phone = document.forms["fwrite"]["wr_homepage"].value.split("-");
    var pattern = /^[0-9]{3,4}-[0-9]{4}$/;
    var array = new Array("02", "031", "032", "033", "041", "042", "043", "051", "052", "053", "054", "055", "061", "062", "063", "064", "010", "011", "016", "017", "018", "019");
    var max = array.length;
    for(var i = 0; i < max; i++)
    {
        if(array[i] == phone["0"])
        {
            break;
        }
    }
    if(max == i || pattern.test(phone["1"] + "-" + phone["2"]) == false)
    {
        window.alert("연락처가 올바른 형식이 아닙니다.");
        document.forms["fwrite"]["wr_homepage"].focus();
        return false;
    }

    if(window.confirm("위의 선택정보로 예약을 진행하시겠습니까? ") == false)
    {
        return false;
    }
    return;
}

function getComma(string)
{
    var result = string.toString();
    var pattern = new RegExp("(-?[0-9]+)([0-9]{3})");
    for(var i = 0; i < 9; i++)
    {
        if(pattern.test(result))
        {
            result = result.replace(RegExp.$1, RegExp.$1 + ",");
        }
    }
    return result;
}

############################################

이 질문에 댓글 쓰기 :

답변 1

write_update_head.skin.php파일에서
$wr_id = mysql_insert_id();부분을 아래와 같이 수정했더니  해결됐네요^^
쪽지로 도움주신 키움**님 감사합니다.

$wr_id = sql_insert_id();

 

그리고 애드프로님께 말씀 드립니다.

의뢰쪽에 가는게 맞는건 모두가 알고 있습니다.

하지만 대다수 저같은 초보들은 이곳에 도움을 해보고 공부해보고 의뢰쪽으로 가고 있다고 생각됩니다.

애드프로님 댓글을 확인해 보니 댓글에 "의뢰쪽으로가라"라는 댓글이 많더군요!

프리랜서일을 하시는분 같은데 조금의 조언도 없이 "모르면 의뢰쪽으로 가라"는 표현은 저같은 초보들은 글에 조금 기분이 상할 수 도 있다고 생각됩니다.

도움이 안되는 댓글은 그냥 댓글을 안다시는 방법이 더 좋지 않을까 조심스럽게 말씀드려 봅니다.

애드프로님 기분이 상하게 하려고 한 말을 아닙니다. 저같은 초보를 조금 배려해주시면 어떨가 하는 바램에 글을 남겨 봅니다. 

그냥 지나치려다가 댓글 다네요.

제 글 보시면 아시겠지만 의뢰로 가라는 글 대부분이
현재 오류가 나는 링크를 올리지 않거나
오류완 상관없는 소스를 통째로 긁어 올리거나
성의없는 질문 글 몇자가 다인 경우입니다.

특히 위 같은경우
올려주신 해당 파일 내용이 아닌
전혀 엉뚱한 write_update_head.skin.php 에서 오류가 있던것이죠?

대다수의 초보님들에게 제발 부탁드립니다.
어떤 부분이 오류인지 명확하게 모른다면 URL 이라도 기재해주세요.

그래야 질문글을 올리는 사람과
답변하는 사람 모두 즐거운 글이 될 수 있습니다.

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

회원로그인

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