펜션/민박 예약하기 - 수정판(압축파일2개선택해서사용) > 그누4 스킨

그누4 스킨

스킨의 저작권은 해당 스킨 제작자님께 있으며, 그누보드의 저작권과 다를 수 있습니다.
스킨 다운로드시 좋아요와 감사의 코멘트를 남기시면 제작자에게 큰 힘이됩니다. ^^y
그누보드와 관련이 있지만 스킨과 빌더가 아니면 플러그인 게시판에 올려주세요.

펜션/민박 예약하기 - 수정판(압축파일2개선택해서사용) 정보

게시판 펜션/민박 예약하기 - 수정판(압축파일2개선택해서사용)

첨부파일

pension_reserve.zip (129.1K) 1090회 다운로드 2007-05-30 08:04:48
pension_reserve1.zip (142.9K) 498회 다운로드 2007-05-30 08:04:48

본문

이것을 만들기위해 빼낀 참고스킨은 아래에 명시했으니 생략합니다 (죄송합니다)

팬션/민박 예약하기 수정판입니다.
지난번에는 약간의 버그와 부족한 부분이 있어서 이번에 조금 바꾸어 수정판을 내놓습니다.
차후에는 다른분이 더 업그레이드를 해주시길 바랍니다.

예약신청/예약접수/예약완료/입실/퇴실/취소 이상 6가지의 예약처리부분과 관련 이미지들을 넣었습니다.
예약처리를 취소로 하면 재예약하기를 할 수 있도록 했습니다.
또한 예약처리중 입실로 처리한 부분은 달력에 마지막날짜에 퇴실로 나타나게 했습니다.
그러므로, 퇴실하는 날에는 예약도 다시 신청할 수 있도록 했습니다.
퇴실은 오전에 하고 입실은 오후에 하기때문에 ...
이부분은 예약신청부터 입실까지를 퇴실예정일인 마지막날에 예약을 다시 받을 수 있도록
소스를 조금만 보시면 수정하실 수 있을겁니다.
날짜를 클릭하면 해당날짜의 객실예약부분이 옆에 나타나고
날짜에 있는 아이콘이미지(툴팁으로 이름나타남)를 클릭하시면 상세보기페이지로 이동합니다.
(비밀글일경우에는 예약자와 관리자만 보는 등 게시판등급에따라 달라집니다)

예약상황을 프린터가 잘 되도록 수정하였습니다.
또한 리스트보기가 가능하도록 했습니다.
리스트보기는 어떤부분에 [리스트로보기] [달력으로보기] 라는 링크를 만드시면 됩니다.
리스트보기는 경로뒤에 &view_mode=list라고 추가하시면 됩니다.
달력보기는 그냥 게시판 경로그대로 하시면 됩니다.

예약하기부분에서 입실날짜가 퇴실날짜보다 같거나 크면 경고창이 뜨고
옆의 1박,2박.... 한부분이 자동으로 선택되도록 했습니다.
예약처리부분은 관리자만 보이므로 관리자가 수정에서 이부분을 상황에 맞게 입력하시면 될 것 입니다.

이미지에 나타난 관리자설정부분은
관리자페이지에서 설정을 비밀글로 하고 접근을 비회원까지 하셔도 되고
회원전용으로 하셔도 됩니다.(자신에게 맞게...)
객실정보는 링크이므로 별도의 게시판을 만들고 분류에 맞게 링크를 잘 하시면 될 것입니다.

달력의 칸들이 정사각형이 아니고 세로가 긴 직사각형인데요 이것은 7동의 이미지를 다 넣으려니 세로가 길어진것입니다 자신의 홈피에 맞게 큰틀의 크기를 줄이시고 소스에서 높이수정하시면 됩니다.
또한 용량문제로 psd파일은 삭제했습니다.

참고사이트는 http://wellbeingtown.co.kr/myungam/bbs/board.php?bo_table=reservation 입니다.
리스트보기는 http://wellbeingtown.co.kr/myungam/bbs/board.php?bo_table=reservation&view_mode=list 입니다.
참고사이트에서는 절대 펜션예약을 하지마시길 바랍니다.(현재 비회원도가능하게 수정해서...)
많이 바꾼것은 아니지만 아래에 부작용이 많아서 새로 수정판으로 올립니다.
그외 심각한 오류나 수정부분은 다른분이 더 해주시면 좋겠구요 안되는부분은 쪽지주시면 개선을 하겠습니다.

(수정추가글)
먼저 올린 pension_reserve.zip 압축파일에는 리스트보기에서 예약취소 이미지가 없습니다.
추가로 올린 pension_reserve1.zip 압축파일에는 리스트보기에서 예약취소 이미지를 추가했습니다.
앞으로 개선점은 예약하기에서 말일에 할경우 퇴실예정일이 다음달1일로 나타나야 같은데요
다른분에게 부탁을 좀 드리겠습니다.

(추가로 올린 두번째 pension_reserve1.zip 압축파일에 대한 설명)
pension_reserve1.zip 파일은 지금 그림으로 보시는것처럼 달력모양의 리스트에서
여러객실을 동시에 예약이 가능합니다. (체크박스에 선택예약하기 라는 버튼이 추가됨)
여러객실을 예약하는게 필요하시면 두번째 올린 pension_reserve1.zip를 다운받으세요
다운받은 후에 주의하실 점은
여러객실을 동시에 올리는 부분을 만들려니 원본소스를 건드릴 수 밖에 없어서
bbs폴더에 있는 write_update.php 파일을 수정하였습니다.
아래에 수정한 부분의 소스가 있으니 221번째줄부터 267번째줄까지를 아래의 소스로 대처하시면 됩니다.

if($bo_table == "reservation"){ // 팬션예약 게시판이름
if($wr_9 == ""){ // 팬션예약 동시가 아니라면
$sql = " insert into $write_table
set wr_num = '$wr_num',
                    wr_reply = '$wr_reply',
                    wr_comment = 0,
                    ca_name = '$ca_name',
                    wr_option = '$html,$secret,$mail',
                    wr_subject = '$wr_subject',
                    wr_content = '$wr_content',
                    wr_link1 = '$wr_link1',
                    wr_link2 = '$wr_link2',
                    wr_link1_hit = 0,
                    wr_link2_hit = 0,
                    wr_trackback = '$wr_trackback',
                    wr_hit = 0,
                    wr_good = 0,
                    wr_nogood = 0,
                    mb_id = '$member[mb_id]',
                    wr_password = '$wr_password',
                    wr_name = '$wr_name',
                    wr_email = '$wr_email',
                    wr_homepage = '$wr_homepage',
                    wr_datetime = '$g4[time_ymdhis]',
                    wr_last = '$g4[time_ymdhis]',
                    wr_ip = '$_SERVER[REMOTE_ADDR]',
                    wr_1 = '$wr_1',
                    wr_2 = '$wr_2',
                    wr_3 = '$wr_3',
                    wr_4 = '$wr_4',
                    wr_5 = '$wr_5',
                    wr_6 = '$wr_6',
                    wr_7 = '$wr_7',
                    wr_8 = '$wr_8',
                    wr_9 = '$wr_9',
                    wr_10 = '$wr_10' ";
sql_query($sql);

$wr_id = mysql_insert_id();

// 부모 아이디에 UPDATE
sql_query(" update $write_table set wr_parent = '$wr_id' where wr_id = '$wr_id' ");

sql_query(" insert into $g4[board_new_table] ( bo_table, wr_id, wr_parent, bn_datetime, mb_id ) values ( '$bo_table', '$wr_id', '$wr_id', '$g4[time_ymdhis]', '$member[mb_id]' ) ");

// 게시글 1 증가
sql_query("update $g4[board_table] set bo_count_write = bo_count_write + 1 where bo_table = '$bo_table'");

}else{
// 구분자,로 분리하고 예약룸갯수도 구한다.
$room = explode(",",$wr_9); 
for ($i=0, $cnt=count($room); $i<$cnt; $i++) {// 객실만바꾸어서 포문으로 입력해줌

$sql = " insert into $write_table
set wr_num = '$wr_num',
                    wr_reply = '$wr_reply',
                    wr_comment = 0,
                    ca_name = '$room[$i]',
                    wr_option = '$html,$secret,$mail',
                    wr_subject = '$wr_subject',
                    wr_content = '$wr_content',
                    wr_link1 = '$wr_link1',
                    wr_link2 = '$wr_link2',
                    wr_link1_hit = 0,
                    wr_link2_hit = 0,
                    wr_trackback = '$wr_trackback',
                    wr_hit = 0,
                    wr_good = 0,
                    wr_nogood = 0,
                    mb_id = '$member[mb_id]',
                    wr_password = '$wr_password',
                    wr_name = '$wr_name',
                    wr_email = '$wr_email',
                    wr_homepage = '$wr_homepage',
                    wr_datetime = '$g4[time_ymdhis]',
                    wr_last = '$g4[time_ymdhis]',
                    wr_ip = '$_SERVER[REMOTE_ADDR]',
                    wr_1 = '$wr_1',
                    wr_2 = '$wr_2',
                    wr_3 = '$wr_3',
                    wr_4 = '$wr_4',
                    wr_5 = '$wr_5',
                    wr_6 = '$wr_6',
                    wr_7 = '$wr_7',
                    wr_8 = '$wr_8',
                    wr_9 = '$wr_9',
                    wr_10 = '$wr_10' ";
sql_query($sql);

$wr_id = mysql_insert_id();

// 부모 아이디에 UPDATE
sql_query(" update $write_table set wr_parent = '$wr_id' where wr_id = '$wr_id' ");

sql_query(" insert into $g4[board_new_table] ( bo_table, wr_id, wr_parent, bn_datetime, mb_id ) values ( '$bo_table', '$wr_id', '$wr_id', '$g4[time_ymdhis]', '$member[mb_id]' ) ");

// 게시글 1 증가
sql_query("update $g4[board_table] set bo_count_write = bo_count_write + 1 where bo_table = '$bo_table'");

}// 객실명만 바꾸어 동시예약한만큼 입력 포문끝
}// 객실 여러개 동시에 예약하기끝

}else{
$sql = " insert into $write_table
set wr_num = '$wr_num',
                    wr_reply = '$wr_reply',
                    wr_comment = 0,
                    ca_name = '$ca_name',
                    wr_option = '$html,$secret,$mail',
                    wr_subject = '$wr_subject',
                    wr_content = '$wr_content',
                    wr_link1 = '$wr_link1',
                    wr_link2 = '$wr_link2',
                    wr_link1_hit = 0,
                    wr_link2_hit = 0,
                    wr_trackback = '$wr_trackback',
                    wr_hit = 0,
                    wr_good = 0,
                    wr_nogood = 0,
                    mb_id = '$member[mb_id]',
                    wr_password = '$wr_password',
                    wr_name = '$wr_name',
                    wr_email = '$wr_email',
                    wr_homepage = '$wr_homepage',
                    wr_datetime = '$g4[time_ymdhis]',
                    wr_last = '$g4[time_ymdhis]',
                    wr_ip = '$_SERVER[REMOTE_ADDR]',
                    wr_1 = '$wr_1',
                    wr_2 = '$wr_2',
                    wr_3 = '$wr_3',
                    wr_4 = '$wr_4',
                    wr_5 = '$wr_5',
                    wr_6 = '$wr_6',
                    wr_7 = '$wr_7',
                    wr_8 = '$wr_8',
                    wr_9 = '$wr_9',
                    wr_10 = '$wr_10' ";
sql_query($sql);

$wr_id = mysql_insert_id();

// 부모 아이디에 UPDATE
sql_query(" update $write_table set wr_parent = '$wr_id' where wr_id = '$wr_id' ");

// 새글 INSERT
sql_query(" insert into $g4[board_new_table] ( bo_table, wr_id, wr_parent, bn_datetime, mb_id ) values ( '$bo_table', '$wr_id', '$wr_id', '$g4[time_ymdhis]', '$member[mb_id]' ) ");

// 게시글 1 증가
sql_query("update $g4[board_table] set bo_count_write = bo_count_write + 1 where bo_table = '$bo_table'");

} // 팬션예약게시판이 아니라면 끝
추천
3

댓글 전체

디비에 날짜만 두개넣었다면 넣은날짜가 있는 달을 한번 보세요 그달에는 버튼이 보일겁니다.
앞에 올린 소스에서 날짜가 안보인다고 해서 개선부분을 올렸었습니다만
그래도 안보이신다면 지금의 수정판소스를 받아서 해보세요
그래도 안보인다면 다시 질문을 주시면 안보이는 부분을 재 점검해보겠습니다.
골아픈소스를 드려 죄송합니다.
파일,db 모두 지우고, 다시 pension_reserve1을 받아서 올리고 wr_3,wr_4에 20070601 넣고 했는데, 오른쪽 동수가 안뜨고 예약하기 버튼이 안뜨고, 저번에 메일 이미지 보내드렸어요.
이번에 한 번 더 보내드립니다. 죄송해요.^.^
wr_3,wr_4에 20070601 강제로 데이타입력안해도됩니다.
다른분들은 다 뜨시는것 같은데 저도 이제는 데이타강제입력안해도 잘뜨거든요
원인을 다시 체크해볼게요
pension_reserve1.zip 여러객실 동시에 예약하기 파일을 받으신분은 아래의부분을 참고하셔서 수정하여 주세요

writer.skin.php 파일부분 163번째줄 1동이 표시가 안되어서 추가한 부분입니다.
2동의 소스와 동일합니다.
// 1동이 표시가 안되어서 수정
if($select__room == ""){
$select__room = $select__room  ."1동";
}else{
$select__room = $select__room  ."/1동";
}

list.skin.php 부분에 체크박스 선택 시 0동부터 시작되어서 7동이 표기가 안되는 부분 개선
507 라인부터 넣었습니다. 아래의 소스를 참고하여 대체를 하시면 됩니다.
추가한 소스부분 => $ck_r = $k+1; // 0동부터 시작되어서 추가한 부분 아래체크박스의 값도 이것으로 적용수정
<?
$ck_r = $k+1; // 0동부터 시작되어서 추가한 부분 아래체크박스의 값도 이것으로 적용수정
if (in_array($cnt_room[$k], $r_arr)) {
($reservation[$k] == "y"){
?>
<input type=checkbox value="<?=$ck_r?>동" name="room[]">
<?}else{?>
<input type=checkbox value="<?=$ck_r?>동" name="room[]" disabled>
<?}?>
<?} else {?>
<input type=checkbox value="<?=$ck_r?>동" name="room[]">
<? } ?>
달이 넘어가는 경우 "입실날짜가 퇴실날짜보다 같은날이거나 앞선날입니다"라고 뜹니다.
5월31일에 예약을 하거나 6월30일 예약을 할경우 달이 넘어갈때 그렇네요.
2달뒤로 넘기면 아무이상이 없구요.
팬션 홈피 제작준비중에 이렇게 좋은 소스를 공개 해 주셔서 감사할 따름입니다. 솔루션을 답재할까 고민했었는뎅...
정말 고맙습니다.  복 받으실 꺼에용...^^
안녕하세요? 공개하신 펜션예약 스킨 너무 좋은것 같은데요
문제점이 있어 쪽지  보냅니다.
예를 들어 10일 예약하고 11일을 퇴실로 할경우 11일에는 다른사람이 예약 할 수 있어야
하는데 11일 까지 예약신청 이라는 버튼이 보이고 또한 예약불가 라고 표현됩니다.
10일~11일 1박 2일의 경우 10일에만 표현되어야 할것 같은데 어디를 수정해야 하나요?
링크하신 참고사이트는 숙박하는날만 표기되어 있던데요
답변 부탁드리겠습니다.
객실은  카테고리 사용 체크하셔야 보입니다.
객실정보 수정은  list.skin.php  write.skin.php 등에서 수동으로 변경하는군요
가격도 마찬가지로 수동으로 위의 파일을 수정하네요
감사합니다. 이걸 토대로 열심히 수정하고 있는뎅 write.skin.php 에서
수정사항 요청 ( 정확한 자바스크립 DATE 을 가져오기 위해서는)
자바스크립트 resetday 함수 중
foolish1 = new Date(f.fyear.value,f.fmon.value,f.fday.value);
foolish2 = new Date(f.tyear.value,f.tmon.value,f.tday.value);
-- 해결 방안 --
foolish1 = new Date(f.fyear.value,f.fmon.value-1,f.fday.value);
foolish2 = new Date(f.tyear.value,f.tmon.value-1,f.tday.value);

월에 -1 을 해주셔야 정확한 월을 가져옵니다. 안하시면 다음달이 됩니다.  이상 드렁크 수달입니다. ^^
하나 더 올릴께요

 입실 예정일 과 퇴실 예정일  과거 년도는 필요가 없다고 합니다..
 필요하신 분은
페이지 write.skin.php

 // 날짜 관련 listbox html 생성 시작
  $temp_year = $t_year - 4 + $i;  에서  $temp_year = $t_year - 1 + $i; 숫자 4에서 1로 수정하시면 됩니다. ^^

저도 이소스를 첨부터 끝까지 해부하고 있습니다. 정말 만들려고 고생많이 하셨습니다. ^^
다시 jey 입니다.

아~~ 초보는 서글퍼요. db에 날자를 억지로 집어 넣어도 보고 다른 server에 적용해 보기도 했는데...

전혀 동작을 하지 않습니다. 무슨 짓을 해도 "예약하기" 버튼이 보이지 않아요.. ㅠ.ㅠ

강제로 "예약 불가" 부분을 없애고 "예약 하기" 버튼을 뜨게 해 보았는데, 그랬더니 드가 지질 않더군요.

예약 가능한 room 수는 0이 나오고 전체 방 개수도 0이 나오고

예약 불가는 1이 나오네요.. 제작자 주목 님 좀 도와 주십쇼.

여러 고수님들 좀 도와주십쇼. 소스에 들어가도 아직 db와 연동되는 부분을 제대로 알지 못하고 있기 때문에...

어디를 어떻게 고쳐야 할 지 모르겠습니다.
아 현재 test 중인 곳의 주소 입니다.

http://gnu.begin.kr/gnu/bbs/board.php?bo_table=test1&year=2007&month=7&day=3

아 그리고 혹시나 해서 말인데요.. utf-8 버전인가요? 현제 euc-kr에 적용했는데 버전이 틀려서 그런가?
위에 올린 질문은 카테고리 아니 분류를 설정하니깐 해결이 되더군요.
근데 글 쓰기 시

Warning: include_once(/write.skin.php) [function.include-once]: failed to open stream: No such file or directory in /home/hosting/gnu/public_html/gnu/bbs/write.php on line 356

Warning: include_once() [function.include]: Failed opening '/write.skin.php' for inclusion (include_path='.:/usr/local/php/lib/php') in /home/hosting/gnu/public_html/gnu/bbs/write.php on line 356

의 error가 발생합니다. 아마 write.php의 board_skin_path의 경로가 잘못 들어가는 것 같습니다. 임의로 억지로 함 바꿔보니깐 글쓰기 까지는 들어가 지는데 모든 img가 다 깨지고 입력도 되지 않습니다.

질문을 좀 바꿔서 이 부분에 대해 좀 도와 주십시오. 부탁드립니다.
356  번째 에러나는건 스킨의 list.php 에서 bo_table을 강제로 잡기 때문인거 같네요.
bo_table=reservation 이라고 된 부분을 찾아서
bo_table=<?=$bo_table> 이라고 바꿔주세요.

-----
방 이름 지정을 동수로만 해야하는 등 수정할 곳이 몇군데 나오기는 합니다만, 개념이 멋진 스킨이네요. 감사합니다.
스킨이 너무 멋져서 꼭 설치해보고싶은데 안되네요..ㅠㅠ;;

설치 성공 하신분 계시면 방법좀 자세히 알려주세요...도통 알 수 가 없네요..

예약불가라고만 나오네요..ㅠㅠ;
좀 도와주세요....에궁..2틀째 답답해요..

내용에 나온것처럼 설치를 하면 첫 화면에 예약 불가라고 나오고..ㅠㅠ//
예약하기..동 버튼이 안나오네요..

그리고 주목님께서 수정한 내용을 올리면 (list.view.php)
Parse error: parse error, unexpected '{' in /home/hosting_users/a1212/www/bbs/skin/board/pension_reserve1/list.skin.php on line 510  이런식으로 나오네요.

php를 배우면서 하고 싶은데...너무 어렵네요....좀 도와주세요.
스킨 너무감사합니다~ 근데여 우측에 객실정보/예약하기가 전혀 안나옵니다 어케 해야하나여 ㅡ.ㅜ
그부분 질문하신분들 여러분 계신데 아무도 답을 안해주시네여 ㅜ.ㅜ 초보는 존스킨 걍 구경만 하라는건가여
제~~발 갈켜 주세여 이스킨 제가 꼭 써야하는뎀 ;;;
관리자 모드로 들어가서..
게시판관리에서 이 예약게시판을 선택하여 설정하는 곳에서..

분류 사용을 클릭합니다. => 이것이 카테고리 사용으로 체크하라는 것입니다.
그냥 클릭만 하면 안되고..
내용을 입력하세요..  본관|별관
또는 1동|2동|3동  아니면, 객실번호를 넣어도 되겠네요...ㅋㅋ
이렇게 하면 될 것입니다.
보니깐 빠진 파일도 많구 버그도 많은거 같은데요
제대로 작동이 안되네요.
아직 시간이 없어서 정확히 살펴보지는 못했지만 문제있는 파일을
올리신거 같군요
빠진 것은.. 제가 보니. room.skin.php가 없네요.. 수정전 zip 파일에서 그것만 풀어서 추가햇습니다.
그렇게 하고, 분류 사용 체크하고
분류 넣었더니 되더군요..
db 강제 접근에 대하여 아시는 분
상세한 설명을 부탁드립니다.

왼쪽부분의 예약하기가 안나와서 계속 시간을 보내고 있네요

고수님들 부탁드립니다
^^; http://moonsung.kr/html/bbs/board.php?bo_table=qd_jinjiang&year=2008&month=4&day=26
바주세요... 달력하고 기타등등 잘나오는데..... 관리자로 로그인 하고 들어가도 예약가능한 객실을 만든다든지.... 글을 쓸수가 없네요? 초보자라서 그런가바요....ㅠㅠ 도와주세요
달력에서 우측 객실정보 보기를 누르면 팝업에 아래와 같이 뜨는데 room.skin.php가 어디에 있는거죠?
파일이 없던데.. 그리고 카테고리 사용체크는 어디에서 해야 하는건가요 좀가르쳐주시면 고맙겠습니다.
<a href="javascript:popup_window('../skin/board/pension_reserve1/room.skin.php?bo_table=pension&wr_id=','winBoard','left=150, top=50, width=700, height=700, scrollbars=1')">
예약하기 버튼 안보이는분..

우선 설치를 아래순서대로 다시 해보세요..현재 자료를 다운받으면 자료가 몇개 빠진채로 압축된 화일이라 몬가 좀 이상합니다.

1. http://sir.co.kr/bbs/board.php?bo_table=g4_skin&wr_id=49444  여기에서 자료 다운받아서 skin/board/아래에 업로드

2. 그다음 현재 자료에 올라온 2개의 압축화일중 원하는 하나의 화일을 위 폴더에 덮어쓰기

3. 그다음 해당게시판 관리자 수정드로가서 분류(카테고리) 체크 하시고, 룸1|룸2|룸3... 이런식으로 입력.

4. 그러면 정상적으로 설치되어 예약하기 버튼도 보여집니다. 적당한 페이지에 리스트보기,달력보기 라는 링크도 만드셔서 사용하세요.(자료 올리신분 글 보면 어떻게 하는지 간략설명 나와있네요)

위와같이 하니깐 전 잘 되네요.1시간 헤맸음..ㅠㅠ
이거 다운받아서 skin에 설치하기만 하면되는거 아닌가요?
그렇게 설치해서 만들었는데 한개도 작도 않돼요..달력만 나오고..


설치 방법좀 알려주세요
다른건 다 적용을 시켰는데요...

관리자 페이지는 어떻게 들어가나요?

그누보드 적용은 2틀째 하고 있는데..

아직도 모르는게 많아서요..ㅠㅠ
주목님 감사합니다.
소스를 보면서 더 많이 감사하는 마음이 듭니다.

오래된 스킨인데 지금 적용해도 잘 됩니다.
분류사용에 체크하고
1동|2동|3동|.....7동
이렇게해야 되는군요..

~ 디자인도 이쁘게 하셨네요..
전체 99 |RSS
그누4 스킨 내용 검색
  • 게시물이 없습니다.

회원로그인

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