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

예약하기 게시판요.... 채택완료

제가 예약하기 스킨을 다운받았는데요...

 

http://sir.co.kr/bbs/board.php?bo_table=g5_skin&wr_id=319&sca=&sfl=wr_subject%7C%7Cwr_content&stx=%EC%98%88%EC%95%BD">http://sir.co.kr/bbs/board.php?bo_table=g5_skin&wr_id=319&sca=&sfl=wr_subject%7C%7Cwr_content&stx=%EC%98%88%EC%95%BD 

 

 

객실 선택시 추가인원과 숙박기간이 변하면 금액이 바뀌어야하는 안바뀌어요

 


 

 

====================write.skin.php=====================

 

   

        객실정보

        기준/최대

        숙박일자

        숙박기간

        인원

        이용금액

        선택

   

   

   

   

        총 결제금액

        0

   

   

   

   

   

       

           

            상세정보

            [평형]

       

        명/

       

       

           

           

       

       

           

           

       

       

       

           

            예약확인

           

            >

           

       

   

   

     

 

 

===========================skin.function.php=====================

 

 

// 인원별, 기간별 이용요금을 산출한다

function getTotal($wr_id, $select, $stay, $person)

{

    global $g5, $board;

    $result = 0;

    $write = sql_fetch("SELECT * FROM {$g5['write_prefix']}{$board['bo_1']} WHERE wr_id = '{$wr_id}'");

    for($i = 0; $i < $stay; $i++)

    {

        list($date) = mysql_fetch_array(sql_query("SELECT '{$select}' + INTERVAL {$i} DAY"));

        $field = getPrice($date);

        $result += $write[$field];

    }

    $result += (($person - $write['wr_2']) * $write['wr_8'] * $stay);

    return $result;

 

잘은 모르지만 이렇게 두곳이 그림의 표를 나타내는것 같은데....

 

뭐가 잘못된건지 모르겠어요...

 

그리고 그누4에 있는 ajax.js를 그누5에 넣었는데요...

 

req.open("POST", g4_path+'/'+g4_bbs+'/'+'tb_token.php', true);

    //req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 

    req.send(null);

 

이 문구를   g5_path+'/'+g5_bbs+'/'+'tb_token.php', true);

 

이렇게 바꾸어서 사용하면 되는건가요?? 

 

도움좀 주세요

 

 

 

 

 

 

 

 

 

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

답변 3개

채택된 답변
+20 포인트

해당소스를 보여주세요~

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

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

이렇게 바서 정확히 확인이안대요~

숙박기간에 있는 셀렉트박스에 값을 바꿨을때 onchange에있는

checkPrice라는 스크립트를 실행시키는데 스크립트 오류인지 php코드의

값을 못불러오는지 확인이안대네요.

스크립트 오류일 가능성이 크다봅니다.

주신소스에는 checkPrice라는 자바스크립트 함수내용이 없네요.

 

쪽지도 따로 드렸습니다.

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

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

===========================     write.skin.php ===============================

 

 

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

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

{

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

}

 

?>

 

   

   

       

       

   

 

   

이용안내

   

           

  1. 인터넷예약이 가능한 기간은 부터 까지이며, 그 외의 기간은 전화로 문의해주세요.
  2.        

  3. 1회 예약시 숙박이 가능한 기간은 최대 이며, 그 이상의 기간은 전화로 문의해주세요.
  4.        

  5. 선택한 숙박일자에 이용할 수 없는 객실은 선택할 수 없거나 숙박기간이 조정되어 보여질 수 있습니다.
  6.        

  7. 예약신청이 완료된 후 일 이내에 입금이 확인되지 않으면 별도의 확인절차없이 예약은 취소됩니다.
  8.        

  9. 무통장입금 계좌번호안내 :
  10.    

 

   

객실선택

   

        날짜를 변경하시면 입력한 내용이 초기화 됩니다.

       

       

   

   

   

   

       

       

       

       

       

       

       

   

   

   

       

       

       

       

       

       

       

   

   

   

   

       

       

   

   

   

   

   

       

       

       

       

       

       

       

   

   

   

   

객실 선택
객실정보기준/최대숙박일자숙박기간인원이용금액선택
총 결제금액0

           

            상세정보

            [평형]

       

명/

           

           

       

           

           

       

           

            예약확인

           

            >

           

       

 

   

예약자정보

   

   

   

       

       

       

       

   

   

   

       

           

       

           

   

   

       

       

   

   

       

       

   

   

   

예약자정보 입력
class="frm_input " maxlength="20">

            (반드시 010-3456-7890과 같은 형식으로 입력해주세요)

           

       

   

 

   

준수사항

   

   

   

       

       

   

 

 

 

 

=========================================skin.function.php===============================

 

 

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

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

{

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

}

 

// 목록화면을 위한 관리자 인증세션을 저장한다

if($type == 'true')

{

    $_SESSION['admin'] = true;

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

}

 

// 달력화면을 위한 관리자 인증세션을 삭제한다

if($type == 'false')

{

    unset($_SESSION['admin']);

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

}

 

// 버튼의 유형을 정의한다 (달력보기 or 목록보기)

if($is_admin && $_SESSION['admin'])

{

    $BUTTON = "\"목록보기\"";

}

else

{

    $BUTTON = "\"달력보기\"";

}

 

// 객실정보게시판이 정의되지 않았다면 실행을 중지한다

$OBJECT = sql_fetch("SELECT * FROM {$g5['board_table']} WHERE bo_table = '{$board['bo_1']}'");

if(isset($OBJECT['bo_table']) == false)

{

    alert('객실정보게시판이 정의되지 않았습니다.');

}

 

// 필요한 변수값이 정의되지 않았다면 기본값으로 설정한다

if((int)$board['bo_3'] < 1)

{

    $board['bo_3'] = 1;

}

if((int)$board['bo_4'] < 1)

{

    $board['bo_4'] = 90;

}

if((int)$board['bo_5'] < 1)

{

    $board['bo_5'] = 10;

}

if((int)$board['bo_6'] < 1)

{

    $board['bo_6'] = $board['bo_3'];

}

 

// 예약내역삭제일이 경과한 미입금 예약목록은 삭제한다

$result = sql_query("SELECT wr_id FROM {$write_table} WHERE wr_last < DATE_SUB(now(), INTERVAL {$board['bo_6']} DAY) AND wr_7 = 'F'");

while($row = sql_fetch_array($result))

{

    sql_query("DELETE FROM {$write_table} WHERE wr_parent = '{$row['wr_id']}'");

    sql_query("DELETE FROM {$g5['board_new_table']} WHERE bo_table = '{$bo_table}' AND wr_parent = '{$row['wr_id']}'");

    sql_query("UPDATE {$g5['board_table']} SET bo_count_write = bo_count_write - 1 WHERE bo_table = '{$bo_table}'");

}

 

// 예약이 가능한 일자를 추출하여 선택박스로 출력한다

function optionDate($select = null)

{

    global $g5, $board;

    $arr = array('0' => '(월)', '1' => '(화)', '2' => '(수)', '3' => '(목)', '4' => '(금)', '5' => '(토)', '6' => '(일)');

    for($i = $board['bo_3']; $i < $board['bo_4']; $i++)

    {

        $date = sql_fetch("SELECT '".G5_TIME_YMD."' + INTERVAL {$i} DAY AS this");

        $week = sql_fetch("SELECT weekday('{$date['this']}') AS this");

 

        echo "

        if($date['this'] == $select)

        {

            echo ' selected';

        }

        echo ">{$date['this']} {$arr[$week['this']]}";

 

    }

    return;

 

}

 

// 숙박이 가능한 일자를 추출하여 선택박스로 출력한다

function optionStay($max)

{

    for($i = 1; $i <= $max; $i++)

    {

        $var = $i + 1;

        echo "";

    }

    return;

}

 

// 숙박이 가능한 인원을 추출하여 선택박스로 출력한다

function optionPerson($min, $max)

{

    for($i = $min; $i <= $max; $i++)

    {

        echo "";

    }

    return;

}

 

// 선택한 일자가 성수기인지를 추출한다 (성수기 : 1000, 비성수기 : 2000)

function getSeason($select)

{

    global $board;

    $result = 2000;

    $var = substr($select, 5, 5);

    $arr = explode('|', $board['bo_2']);

    $max = count($arr);

    for($i = 0; $i < $max; $i++)

    {

        list($open, $close) = explode('~', $arr[$i]);

        if($open <= $var || $var <= $close)

        {

            $result = 1000;

            break;

        }

    }

    return $result;

}

 

// 선택한 일자가 주말(금,토요일)인지를 추출한다 (주말 : 1000, 주중 : 2000)

function getWeek($select)

{

    list($var) = mysql_fetch_array(sql_query("SELECT weekday('{$select}')"));

    if($var == 4 || $var == 5)

    {

        $result = 1000;

    }

    else

    {

        $result = 2000;

    }

    return $result;

}

 

// 선택한 일자의 이용요금을 추출한다 (이용요금을 추출할 수 있는 테이블의 필드명을 리턴한다)

function getPrice($select)

{

    $arr = array(

        '1000' => array('1000' => 'wr_7', '2000' => 'wr_6'),

        '2000' => array('1000' => 'wr_5', '2000' => 'wr_4')

    );

    $season = getSeason($select);

    $week = getWeek($select);

    $result = $arr[$season][$week];

    return $result;

}

 

// 인원별, 기간별 이용요금을 산출한다

function getTotal($wr_id, $select, $stay, $person)

{

    global $g5, $board;

    $result = 0;

    $write = sql_fetch("SELECT * FROM {$g5['write_prefix']}{$board['bo_1']} WHERE wr_id = '{$wr_id}'");

    for($i = 0; $i < $stay; $i++)

    {

        list($date) = mysql_fetch_array(sql_query("SELECT '{$select}' + INTERVAL {$i} DAY"));

        $field = getPrice($date);

        $result += $write[$field];

    }

    $result += (($person - $write['wr_2']) * $write['wr_8'] * $stay);

    return $result;

}

 

// 선택일자에 예약된 객실의 개수를 산출한다

function getRoom($day, $number)

{

    global $class, $room;

    $result = 0;

    $max = count($class[$number]);

    for($i = 0; $i < $max; $i++)

    {

        $var = $class[$number][$i];

        $result += count($room[$day][$var]);

    }

    return $result;

}

 

// 문자메시지를 전송합니다 (아이코드 클래스)

function SMS($message, $receive = null)

{

    global $board;

    list($id, $password) = explode('|', $board['bo_8']);

    list($phone, $mobile) = explode('|', $board['bo_9']);

    if(isset($receive) == false)

    {

        $receive = $mobile;

    }

    $SMS = new ICODE;

    $SMS -> Connect($id, $password);

    $SMS -> Add($phone, $receive, $message);

    $SMS -> Send();

    return;

}

 

function BLANK($string, $size)

{

    for($i = 0; $i < $size; $i++)

    {

        $string .= ' ';

    }

    $result = substr($string, 0, $size);

    return $result;

}

 

class ICODE

{

    var $ID;

    var $PASSWORD;

    var $SERVER;

    var $PORT;

    var $DATA;

 

    function Connect($id, $password)

    {

        $this -> ID = BLANK($id, 10);

        $this -> PASSWORD = BLANK($password, 10);

        $this -> SERVER = '211.172.232.124';

        $this -> PORT = rand(7192, 7195);

        return;

    }

 

    function Add($send, $mobile, $message)

    {

        $send = str_replace('-', null, $send);

        $send = BLANK($send, 33);

        $mobile = str_replace('-', null, $mobile);

        $mobile = BLANK($mobile, 11);

        $message = stripslashes($message);

        $message = BLANK($message, 80);

        $this -> DATA = '01144 ' . $this -> ID . $this -> PASSWORD . $mobile . $send . $message;

        return;

    }

 

    function Send()

    {

        $fgets = null;

        $fsockopen = fsockopen($this -> SERVER, $this -> PORT);

        fputs($fsockopen, $this -> DATA);

        while(isset($fgets) == false)

        {

            $fgets = fgets($fsockopen, 30);

        }

        fclose($fsockopen);

        $result = substr($fgets, 0, 19);

        $key = '0223  00' . substr($this -> DATA, 26, 11);

        $this -> DATA = null;

        if($result != $key)

        {

            return false;

        }

        return true;

    }

}

 

?>

 

 

===========================write.head.skin.php==============================

 

 

 

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

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

{

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

}

 

// 목록화면을 위한 관리자 인증세션을 저장한다

if($type == 'true')

{

    $_SESSION['admin'] = true;

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

}

 

// 달력화면을 위한 관리자 인증세션을 삭제한다

if($type == 'false')

{

    unset($_SESSION['admin']);

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

}

 

// 버튼의 유형을 정의한다 (달력보기 or 목록보기)

if($is_admin && $_SESSION['admin'])

{

    $BUTTON = "\"목록보기\"";

}

else

{

    $BUTTON = "\"달력보기\"";

}

 

// 객실정보게시판이 정의되지 않았다면 실행을 중지한다

$OBJECT = sql_fetch("SELECT * FROM {$g5['board_table']} WHERE bo_table = '{$board['bo_1']}'");

if(isset($OBJECT['bo_table']) == false)

{

    alert('객실정보게시판이 정의되지 않았습니다.');

}

 

// 필요한 변수값이 정의되지 않았다면 기본값으로 설정한다

if((int)$board['bo_3'] < 1)

{

    $board['bo_3'] = 1;

}

if((int)$board['bo_4'] < 1)

{

    $board['bo_4'] = 90;

}

if((int)$board['bo_5'] < 1)

{

    $board['bo_5'] = 10;

}

if((int)$board['bo_6'] < 1)

{

    $board['bo_6'] = $board['bo_3'];

}

 

// 예약내역삭제일이 경과한 미입금 예약목록은 삭제한다

$result = sql_query("SELECT wr_id FROM {$write_table} WHERE wr_last < DATE_SUB(now(), INTERVAL {$board['bo_6']} DAY) AND wr_7 = 'F'");

while($row = sql_fetch_array($result))

{

    sql_query("DELETE FROM {$write_table} WHERE wr_parent = '{$row['wr_id']}'");

    sql_query("DELETE FROM {$g5['board_new_table']} WHERE bo_table = '{$bo_table}' AND wr_parent = '{$row['wr_id']}'");

    sql_query("UPDATE {$g5['board_table']} SET bo_count_write = bo_count_write - 1 WHERE bo_table = '{$bo_table}'");

}

 

// 예약이 가능한 일자를 추출하여 선택박스로 출력한다

function optionDate($select = null)

{

    global $g5, $board;

    $arr = array('0' => '(월)', '1' => '(화)', '2' => '(수)', '3' => '(목)', '4' => '(금)', '5' => '(토)', '6' => '(일)');

    for($i = $board['bo_3']; $i < $board['bo_4']; $i++)

    {

        $date = sql_fetch("SELECT '".G5_TIME_YMD."' + INTERVAL {$i} DAY AS this");

        $week = sql_fetch("SELECT weekday('{$date['this']}') AS this");

 

        echo "

        if($date['this'] == $select)

        {

            echo ' selected';

        }

        echo ">{$date['this']} {$arr[$week['this']]}";

 

    }

    return;

 

}

 

// 숙박이 가능한 일자를 추출하여 선택박스로 출력한다

function optionStay($max)

{

    for($i = 1; $i <= $max; $i++)

    {

        $var = $i + 1;

        echo "";

    }

    return;

}

 

// 숙박이 가능한 인원을 추출하여 선택박스로 출력한다

function optionPerson($min, $max)

{

    for($i = $min; $i <= $max; $i++)

    {

        echo "";

    }

    return;

}

 

// 선택한 일자가 성수기인지를 추출한다 (성수기 : 1000, 비성수기 : 2000)

function getSeason($select)

{

    global $board;

    $result = 2000;

    $var = substr($select, 5, 5);

    $arr = explode('|', $board['bo_2']);

    $max = count($arr);

    for($i = 0; $i < $max; $i++)

    {

        list($open, $close) = explode('~', $arr[$i]);

        if($open <= $var || $var <= $close)

        {

            $result = 1000;

            break;

        }

    }

    return $result;

}

 

// 선택한 일자가 주말(금,토요일)인지를 추출한다 (주말 : 1000, 주중 : 2000)

function getWeek($select)

{

    list($var) = mysql_fetch_array(sql_query("SELECT weekday('{$select}')"));

    if($var == 4 || $var == 5)

    {

        $result = 1000;

    }

    else

    {

        $result = 2000;

    }

    return $result;

}

 

// 선택한 일자의 이용요금을 추출한다 (이용요금을 추출할 수 있는 테이블의 필드명을 리턴한다)

function getPrice($select)

{

    $arr = array(

        '1000' => array('1000' => 'wr_7', '2000' => 'wr_6'),

        '2000' => array('1000' => 'wr_5', '2000' => 'wr_4')

    );

    $season = getSeason($select);

    $week = getWeek($select);

    $result = $arr[$season][$week];

    return $result;

}

 

// 인원별, 기간별 이용요금을 산출한다

function getTotal($wr_id, $select, $stay, $person)

{

    global $g5, $board;

    $result = 0;

    $write = sql_fetch("SELECT * FROM {$g5['write_prefix']}{$board['bo_1']} WHERE wr_id = '{$wr_id}'");

    for($i = 0; $i < $stay; $i++)

    {

        list($date) = mysql_fetch_array(sql_query("SELECT '{$select}' + INTERVAL {$i} DAY"));

        $field = getPrice($date);

        $result += $write[$field];

    }

    $result += (($person - $write['wr_2']) * $write['wr_8'] * $stay);

    return $result;

}

 

// 선택일자에 예약된 객실의 개수를 산출한다

function getRoom($day, $number)

{

    global $class, $room;

    $result = 0;

    $max = count($class[$number]);

    for($i = 0; $i < $max; $i++)

    {

        $var = $class[$number][$i];

        $result += count($room[$day][$var]);

    }

    return $result;

}

 

// 문자메시지를 전송합니다 (아이코드 클래스)

function SMS($message, $receive = null)

{

    global $board;

    list($id, $password) = explode('|', $board['bo_8']);

    list($phone, $mobile) = explode('|', $board['bo_9']);

    if(isset($receive) == false)

    {

        $receive = $mobile;

    }

    $SMS = new ICODE;

    $SMS -> Connect($id, $password);

    $SMS -> Add($phone, $receive, $message);

    $SMS -> Send();

    return;

}

 

function BLANK($string, $size)

{

    for($i = 0; $i < $size; $i++)

    {

        $string .= ' ';

    }

    $result = substr($string, 0, $size);

    return $result;

}

 

class ICODE

{

    var $ID;

    var $PASSWORD;

    var $SERVER;

    var $PORT;

    var $DATA;

 

    function Connect($id, $password)

    {

        $this -> ID = BLANK($id, 10);

        $this -> PASSWORD = BLANK($password, 10);

        $this -> SERVER = '211.172.232.124';

        $this -> PORT = rand(7192, 7195);

        return;

    }

 

    function Add($send, $mobile, $message)

    {

        $send = str_replace('-', null, $send);

        $send = BLANK($send, 33);

        $mobile = str_replace('-', null, $mobile);

        $mobile = BLANK($mobile, 11);

        $message = stripslashes($message);

        $message = BLANK($message, 80);

        $this -> DATA = '01144 ' . $this -> ID . $this -> PASSWORD . $mobile . $send . $message;

        return;

    }

 

    function Send()

    {

        $fgets = null;

        $fsockopen = fsockopen($this -> SERVER, $this -> PORT);

        fputs($fsockopen, $this -> DATA);

        while(isset($fgets) == false)

        {

            $fgets = fgets($fsockopen, 30);

        }

        fclose($fsockopen);

        $result = substr($fgets, 0, 19);

        $key = '0223  00' . substr($this -> DATA, 26, 11);

        $this -> DATA = null;

        if($result != $key)

        {

            return false;

        }

        return true;

    }

}

 

?>

 

 

너무 길어서 보시기 힘드시죠?...ㅠㅠ

 

죄송해요...ㅠ.ㅠ

 

 

 

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

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

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

로그인

전체 질문 목록

🐛 버그신고