본문 바로가기
  • [성공하는 개발자] - Developer
PHP/그누보드

[PHP]간단한 온라인 예약 게시판

by Sein-JH 2021. 12. 9.
728x90

 

온라인예약게시판.

 

PHP에 전문적 지식없이 만들어 졌기 때문에 코드가 난잡 할 수 있다는 느낌이 있을 수 있습니다.

PHP 7.2에서 테스트를 하였습니다.

다수의 사용자가 테스트를 하지 않아 아직 수정되지 않은 오류가 충분히 있을 수 있습니다.

아래의 기능을 구현하는데 목적을 두고 스킨제작을 했습니다.

이 스킨이 단 한사람이라 해도..  도움이 되었으면 하는 바램으로 공유합니다.

감사합니다.

 

데모페이지 : http://www.suu.kr/bbs/board.php?bo_table=booking

 

- 주요특징 -


1. 예약시작일과 예약종료일 설정
   - 예약시작일과 예약종료일을 설정 할 수 있습니다.
   - 당일예약 또는 내일이나 며칠 후부터 예약을 할 수 있도록 설정 할 수 있습니다.
   - 예) 오늘로부터 최소 2일후부터 최대 30일후까지 예약 가능

 

 

2. 예약시간 설정.
   - 예약시작시간과 예약종료시간을 설정 할 수 있습니다.
   - 예약가능시간을 1시간 또는 30분단위로 설정
   - 예약시간 구간동안 특정시간을 제외 할 수 있습니다.
   - 오전 10시부터 오후 5시까지 예약이 가능한 시간중 12시, 1시30분등 특정 시간을 예약시간에서 제외 할 수 있는 기능이 있습니다.
   - 1시간 간격 : 10:00, 11:00, 12:00, 13:00, 14:00......
   - 30분 간격 : 10:00, 10:30, 11:00, 11:30, 12:00, 12:30, 13:00, 13:30, 14:00 14:30 ......

 

 

3. 예약인원 설정.
   - 예약시간별로 최대인원을 설정 할 수 있습니다.
   - 이 기능으로 인하여 특정시간에 예약이 몰리는 현상을 방지 할 수 있습니다.
   - ex) 3명으로 설정시 시간대별로 3명까지만 예약접수 가능
   - 10:00(0), 10:30(0), 11:00(0)...(괄호안 숫자가 해당시간의 예약숫자)

 


4. 정기휴무일 설정 (반복 휴무 설정).
   - 매주 특정 요일 휴무 설정(ex. 매주 일요일 휴무)
   - 격주 특정 요일 휴무 설정 (ex. 토요일 격주 휴무, 특정 일자를 기준으로 휴무 시작)
   - 3주마다 특정 요일 휴무 설정 (ex. 3주마다 화요일 휴무, 특정 일자를 기준으로 휴무 시작)
   - 매월 특정일 휴무 (ex. 매월 10일 휴무, 특정 일자를 기준으로 휴무 시작(요일과 상관 없음))
   - 매년 특정일 휴무 (ex. 매년 5월 1일 휴무, 특정 일자를 기준으로 휴무 시작(요일과 상관없음))
    

 


5. 임시휴무일 설정.
   - 특정일을 임시휴무로 설정하여 예약접수가 되지 않도록 합니다.
   - 언제든지 설정과 해제가 가능합니다.
   - 달력 날짜를 클릭하여 설정 가능.

 


6. 예약 시간 제외 설정.
   - 예약 시간 구간중 특정 시간을 예약접수가 되지 않도록 합니다.
   - 제외된 예약시간대는 예약 등록 시 예약 시간이 표시 되지 않습니다.
   - 언제든지 설정과 해제가 가능합니다.
   - 달력 날짜를 클릭하여 설정 가능.

 


7. 예약현황 자동갱신 온오프 기능.
   - 온라인 예약화면에 접속되어 있는 상태에서 페이지를 새로고침없이 예약현황을 자동으로 갱신합니다.
   - 기본 30초마다 갱신되며, script.js 파일에서 갱신 시간을 변경 할 수 있습니다. (setInterval)
   - 다른 페이지를 이동하더라도 온오프상태가 유지됩니다. (자바스크립트 세션 사용)
   - 자동갱신 기본 값은 OFF 입니다.

 


8. 예약알림 SMS (그누보드에 포함된 ICODE)
   - SMS 발송여부를 설정 할 수 있습니다.
   - 예약정보를 관리자 또는 예약자에게 SMS 발송 할 수 있습니다.
   - 예약정보를 관리자 및 예약자에게 SMS를 동시 발송 할 수 있습니다.

 

9. 위의 모든 설정은 관리자만 가능합니다.

 

 

- 설치 방법 -

1. 테마폴더에 등록시 스킨파일중 '_common.php'파일의 경로를 수정하면 됩니다.
2. sql.php 파일을 열어 63라인의 mb_id를 관리자 아이디로 변경해주세요.
   사업자정보는 "회사정보변경"페이지로 접속후 수정할 수 있습니다.
3. 다운받은 파일을 게시판 스킨 폴더에 업로드 하세요. (./skin/board/)
4. 관리자페이지에서 예약게시판을 생성합니다.
5. 생성된 예약게시판에 접속하면 sql.php 파일도 함께 실행이 되어 cm_office, cm_holiday, {게시판테이블명}_sub등 총3개의 테이블이 추가로 생성됩니다.
   cm_office : 회사정보 및 예약시간 설정 값들이 들어 있습니다.
   cm_holiday : 정기휴무일 설정 값들이 들어 있습니다. ( 회사정보변경 페이지에서 추가 또는 삭제 가능)
   {게시판테이블}_sub : 임시휴무일 및 예약 시간 제외 값이 들어 있습니다. (달력 날짜를 클릭하여 설정 가능)
6. Jquery Dialog 위젯을 사용하기 때문에 jquery 1.21.1버전으로 사용 중입니다.
   이미 사용 중이라면 _jquery.php 파일을 열어 7 ~ 10라인까지 주석처리 또는 삭제하면 됩니다.

7. 궁금한 사항은 댓글로 남겨주시면 답변 드리도록 하겠습니다.

 

 

https://sir.kr/g5_skin/26396

'PHP > 그누보드' 카테고리의 다른 글

[PHP] 그누보드 Poedit 다국어 기능  (0) 2021.09.30
[PHP] 구글API 이용한 다국어 기능  (0) 2021.09.14

댓글