Tải bản đầy đủ (.docx) (62 trang)

Đồ án tốt nghiệp xây dựng website quản lý khách sạn 2020

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.7 MB, 62 trang )

MỤC LỤC

1
1


LỜI MỞ ĐẦU
Ngày nay trong thời đại công nghệ thông tin được áp dụng trên toàn cầu
thì quốc gia trên thế giới nói chung, cũng như các ngành, các tổ chức và đoàn
thể… nói riêng đều cố gắng áp dụng công nghệ thông tin vào mọi lĩnh vực để từ
đó hiện đại hóa quy trình quản lí, sản xuất kinh doanh nhằm đạt hiệu quả kinh tế
cao nhất.
Trong những năm gần đây, do công cuộc công nghiệp hóa, hiện đại hóa
của Đảng và nhà nước đã đạt được những thành công nhất định nên đời sống của
nhân dân ta càng ngày càng sung túc. Nhu cầu du lịch trong nước của nhân dân
ta ngày càng cao. Hơn nữa do kinh tế phát triển, chính trị và an ninh ổn định nên
ngày càng có nhiều du khách nước ngoài đến Việt Nam. Chính vì vậy nhu cầu
khách sạn trong nước ta là rất lớn. Hiện nay các khách sạn đã mọc lên như nấm.
Quy mô của khách sạn cũng tăng lên, các dịch vụ trong khách sạn cũng rất
nhiều. Chính vì vậy công tác quản lý khách sạn nói chung là rất phức tạp. Thực
trạng dễ thấy là hầu hết các khách sạn còn được quản lý dưới dạng rất thủ công.
Do đó rất dễ xảy ra các nhầm lẫn, chậm chạp và khó đáp ứng được nhu cầu ngày
càng tăng của khách hàng.
Vì vậy nhiệm vụ đặt ra là cần phải có một phần mềm quản lý khách sạn
hoàn chỉnh, chuyên nghiệp đáp ứng được yêu cầu nghiệp vụ quản lý khách sạn.
Trước tình hình trên, em đã quyết định chọn và nghiên cứu về chủ đề này
mục đích là sẽ tạo ra được một website quản lý khách sạn hiệu quả và được tin
dùng. Hy vọng có thể giúp người quản lý khách sạn và khách hàng nhanh chóng
biết được những thông tin cần thiết một cách chính xác, từ đó nâng cao hiệu quả
kinh doanh cho khách sạn và giúp khách hàng thỏa mãn được tốc độ, và hiệu
quả phục vụ của khách sạn.


Được sự giúp đỡ và sự hướng dẫn nhiệt tình của Cô Trần Thị Lụa em đã
hoàn thành đề tài “Xây dựng Website quản lý khách sạn”.

2
2


CHƯƠNG 1: TÌM HIỂU NGÔN NGỮ PHP VÀ MYSQL
1.1 GIỚI THIỆU VỀ PHP
PHP là ngôn ngữ lập trình được kết nối chặt chẽ với máy chủ. Nói một
cách đơn giản không theo thuật ngữ khoa học thì một quá trình xử lý PHP được
thực hiện trên máy chủ (Windows hoặc Unix). Khi một trình duyệt yêu cầu một
trang php từ websever thì trước hết websever sẽ thực hiện đoạn mã php đó, sau
đó đưa ra kết quả như ngôn ngữ HTML. Vì quá trình xử lý này diễn ra trên máy
chủ nên trang Web được viết bằng php sẽ truy cập bằng trình duyệt ở bất cứ hệ
điều hành nào.
1.2 TẠI SAO NÊN DÙNG PHP?
Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú
pháp giống C và Java, dễ học và thời gian xây dựng sản phẩm tương đối ngắn
hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ
lập trình (thiết kế) web phổ biến nhất thế giới. Website được thiết kế bằng PHP
có thời gian hoàn thiện rất nhanh vì nó sử dụng khá ít mã code, có khả năng tùy
chọn bộ nhớ khi xây dựng.
Ngôn ngữ PHP là một mã nguồn mở có tính năng động, có sự phát triển
của rất nhiều người, các thiết kế web sử dụng PHP cũng dễ dàng hơn, tốn ít thời
gian hơn hơn.
Một lợi thế rất lớn của ngôn ngữ mã nguồn mở PHP cung cấp là tính cộng
đồng. PHP được phát triển và tối ưu liên tục từ các nhà phát triển trên toàn thế
giới khiến cho nó vô cùng thân thiện với mọi người và ngày càng hoàn thiện
hơn.

PHP rất ổn định và tương thích, vận hành khá tốt trên các hệ điều hành
gồm cả Unix, windows.
Ngoài sự hỗ trợ của cộng đồng, thư viện PHP cũng rất phong phú, đa
dạng. Từ những cái rất nhỏ như chỉ là 1 đoạn code, 1 hàm (PHP. net…) cho tới
những cái lớn hơn như Framework (Zend, CakePHP, CodeIgniter, Symfony…)
hay CMS hoàn chỉnh (Joomla, WordPress, PhpBB…).
3
3


Với những ưu điểm trên, PHP đã nhanh chóng trở thành ngôn ngữ lập
trình web được nhiều người sử dụng. Với xu hướng ưa chuộng sự đơn giản và
tiện lợi trong sử dụng web của nhiều khách hàng hiện nay, ngôn ngữ PHP trở
thành sự lựa chọn hàng đầu của nhiều đơn vị thiết kế và lập trình web. Với sự hỗ
trợ của PHP, hiển thị của website trở nên đơn giản, dễ hiểu, dễ sử dụng nhưng
vần đảm bảo tối ưu bảo mật.
1.3 CẤU TRÚC CỦA MỘT TRANG PHP
Một trang php là 1 trang html có nhúng mã php giữa cặp thẻ:
<-- Mã php ở đây -->
?>
1.3.1 Hằng và biến trong php
• Hằng
Hàm define() được sử dụng để tạo một hằng số:
Hàm này có cấu trúc sau:
Define(“Tên_hằng”, ”giá trị của hằng”);
Ví Dụ:
Define(“COMPANY”, ”NS co. Ltd”);
//Định nghĩa hằng COMPANY với giá trị là “NS co. Ltd”;
Sau khi một hằng số được tạo ra, ta có thể sử dụng chúng thay cho giá trị

của chúng:
echo(“Tên công ty”. COMPANY);
• Biến
Biến là một định danh, nó dùng để lưu trữ các giá trị và nó có thể dùng
phép gán để thay đổi giá trị. Cú pháp của biến bắt đầu bằng dấu đô la $ và tiếp
theo là các chữ, số, dấu gạch dưới. Ký tự đầu tiên của tên biến phải là chữ hoặc
là dấu gạch dưới, không được là số.
Ví dụ:
$sinhvien = ''; //đúng
$_sinh_vien = ''; //đúng
$sinh_vien90 = ''; //đúng
4
4


$90sinhvien = ''; //sai
?>

5
5


1.3.2 Các lệnh điều khiển rẽ nhánh và vòng lặp.
• Cấu trúc if…else
Câu lệnh điều kiện if else cho phép ta thay đổi luồng của chương
trình dựa trên một điều kiện nào đó. Nếu điều kiện là đúng (true) thì chương
trình sẽ được thực hiện, ngược lại nếu điều kiện đưa ra là sai (false) thì nội dung
công việc đó sẽ không được thực hiện.
Cú pháp như sau:

if ($bieuthuc){
// Những Câu Lệnh 1;
}
else{
// Những câu lệnh 2;
}
?>
Ví Dụ: Chương trình kiểm tra một số chẵn hay lẻ
$so_can_kiem_tra = 12;
$so_du = $so_can_kiem_tra % 2;
if ($so_du == 0){
echo 'Số '. $so_can_kiem_tra. ' Là Số Chẵn';
}
• Vòng lặp While
Vòng lặp while có mục đích lặp đi lặp lại một khối lệnh nhất định cho đến
khi biểu thức điều kiện trả về false. Khi dùng vòng lặp while phải chú ý tạo lối
thoát cho vòng lặp (làm cho biểu thức điều kiện có giá trị false), nếu không đoạn
mã sẽ rơi vào vòng lặp vô hạn. Vòng lặp while được sử dùng khi không biết
chính xác cần lặp bao nhiêu lần. Cú pháp như sau:
while ($condition) {
// dòng lệnh
}
?>
6
6


• Vòng lặp For

Vòng lặp for thường được sử dụng khi cần lặp một khối lệnh mà lập trình
viên biết trước sẽ cần lặp bao nhiêu lần. Cú pháp vòng lặp for như sau:
for($bien_dieu_khien;$bieu_thuc_dieu_kien;
$bieu_thuc_thay_doi_bien_dieu_khien)
{
// lệnh
}
?>
• Cú pháp switch
Câu lệnh switch trong php cho phép ta đưa ra quyết định có nhiều cách
lựa chọn để giá trị của biểu thức truyền vào. Nếu giá trị biểu thức truyền vào
trùng với các giá trị biểu thức điều kiện thì các câu lệnh bên trong biểu thức điều
kiện sẽ được thực hiện.
Cách sử dụng cú pháp switch:
case $value_1:
// chuỗi câu lênh
break;
case $value_2:
// chuỗi câu lệnh
break;
default:
// chuỗi câu lệnh
break;
}
?>
1.3.3 Mảng trong php
Mảng là một kiểu dữ liệu mà nó có thể chứa nhiều giá trị con bên trong.
Hãy tưởng tượng như một mảng là một quyển sách, mỗi trang sách bên trong là

giá trị (value) được đánh số bằng số trang (key).
7
7


Có thể khởi tạo mạng bằng cách như sau:
$array = array(‘giá trị 1’, ’giá trị 2’);
$array[] = giá trị;
$array = array( $key => ‘giá trị 1’, $key2 => ‘giá trị 2’);
Để duyệt mạng ta có thể dùng vòng lặp foreach:
$array = array(1, 2, 3, 4, 5, 6, 7);
Foreach($giatri as $value){
echo $value. ”
”;
}
1.3.4 Cách lấy thông tin từ trình duyệt:get, post, cookie
Dữ liệu của người dùng từ trình duyệt sẽ được gửi lên máy chủ dưới dạng
từng cặp biến = giá_trị và có thể đi theo 3 con đường khác nhau, trên máy chủ
ta cũng có các cách khác nhau để lấy dữ liệu được gửi lên.
• Phương thức GET:
Phương thức get là phương thức gửi dữ liệu thông qua đường dẫn url nằm
trên thanh địa chỉ của Browser. Server sẽ nhận đường dẫn đó và phân tích trả về
kết quả cho bạn. Server sẽ phân tích tất cả những thông tin đằng sau dấu hỏi (?)
chính là phần dữ liệu mà Client gửi lên.
Ví dụ: Với URL freetuts. net?id=12thì Server sẽ nhận được giá trị id = 12
Để truyền nhiều dữ liệu lên Server ta dùng dấu & để phân cách giữa các
cặp giá trị. Giả sử tôi muốn truyền id = 12 và title = ‘method_get’ thì URL sẽ có
dạng freetuts. net?id=12&title=method_get. Lưu ý với các bạn là vị trí các cặp
giá trị không quan trọng, nghĩa là cặp title có thể nằm trước cặp id cũng được.
Tất cả các dữ liệu mà Client gửi lên bằng phương thức GET đều được lưu
trong một biến toàn cục mà php tự tạo ra đó là biến $_GET, biến này là

kiểu mảng kết hợp lưu trữ danh sách dữ liệu từ client gửi lên theo quy luật key
=> value. Ví dụ với URL freetuts. net?id=12&title=method_get thì dữ liệu sẽ
được lưu trong biến $_GET dưới dạng:
$_GET = array(
8
8


'id' => '12',
'title' => 'method_get'
);
Vì thế để lấy dữ liệu thì ta chỉ cần làm như sau:
// Lấy ID
$id = $_GET['id'];
echo $id; // kết quả là 12
// Lấy title
$title = $_GET['title'];
echo $title; // kết quả là method_get



Phương thức POST

Với phương thức GET thì dữ liệu được thấy trên URL thì phương thức
POST thì hoàn toàn ngược lại, POST sẽ gửi dữ liệu qua một cái form HTML và
các giá trị sẽ được định nghĩa trong các input gồm các kiểu (textbox, radio,
checkbox, password, textarea, hidden) và được nhận dạng thông qua tên (name)
của các input đó.
Tất cả các dữ liệu gửi bằng phương thức POST đều được lưu trong một
biến toàn cục $_POST do PHP tự tạo ra, vì thế để lấy dữ liệu thì bạn chỉ cần lấy

trong biến này là được. Cũng như lưu ý với các bạn là trước khi lấy phải dùng
hàm isset($bien) để kiểm tra có hay không .
if (isset($_POST['id'])){
$id = $_POST['id'];
}
• COOKIE
Cookie thường được dùng để lưu trữ các tùy chọn riêng của trang web
từng user, nó là một file nhỏ được Server chỉ định lưu trữ trên máy tính của
Client và PHP có thể truy xuất tới được. Cookie sẽ không bị mất khi bạn đóng
ứng dụng, nó phụ thuộc vào thời gian sống mà bạn thiết lập cho nó. Ví dụ bạn
thiết lập Cookie lưu trữ thông tin đăng nhập trong vòng 15 phút thì sau 15 phút
9
9


mà bạn không có một thao tác thay đổi trên nó thì Cookie của bạn sẽ bị chết.
Đây chính là sự lợi hại của việc sử dụng Cookie.
Để lưu trữ Cookie ta dùng cú pháp sau và phải đặt trước thẻ HTML:
setcookie($name, $value, $expire, $path, $domain).
Trong đó:
- $name: là tên của Cookie
- $value: giá trị của Cookie
- $expire: thời gian sống của Cookie
- $path : đường dẫn lưu trữ Cookie
- $domain: tên của domain
Để lấy dữ liệu trong COOKIE gửi lên:
$_COOKIE [‘tên_cookie’].
1.3.5 Hàm trong PHP
Hàm là 1 khối lệnh được đặt tên để gọi sử dụng nhiều lần để giải quyết
một vấn đề gì đó như xử lý chuỗi, thêm, sửa, xóa. . . .

Cách khởi tạo hàm
Cú pháp:
function ten_function() {
Khối lệnh;
}
Ví dụ:
function tinhtuoi($val){
echo (2014 -$val +1). '
';
}
?>
Để sử dụng ta dùng:
10
10


tinhtuoi(1997);
?>
1.3.6 Kết nối cơ sở dữ liệu
Kết nối cơ sở dữ liệu là nhiệm vụ cực kỳ quan trọng trong PHP để tạo ra
một trang web động
Các bước cần thực hiện để làm việc với CSDL:
Bước 1: Thiết lập kết nối CSDL.
Bước 2: Lựa chọn CSDL.
Bước 3: Tiến hành các truy vấn SQL, xử lý các kết quả trả về nếu có.
Bước 4: Đóng kết nối CSDL.
Thiết lập kết nối đến CSDL:
Để kết nối tới MySQL, ta sử dụng hàm mysqli_connect().
Cú pháp:

Mysqli_connect(‘host’, ’ten_truy_cap’, ’pass_word’, ’ten_database’).
Trong đó:
- host: là địa chỉ cài đặt MySQL, thông thường là localhost
- username: là tên đăng nhập vào MySQL
- password: mật khẩu đăng nhập
- databass: tên database.
1.3.7 Truy vấn CSDL
• Thao tác thêm
Ví dụ muốn thêm người dùng có User_name là “CMXQ”, ta làm như sau:
<?php INSERT INTO CMXQ_users valuse("CMXQ") ?>
• Thao tác xóa
Ví dụ muốn xóa người dùng sử dụng User_name là “CMXQ”, như sau:
<?php DELETE FROM CMXQ_users WHERE id="1" ?>
Mysqli_query($sql);
• Thao tác sửa
Ví dụ muốn sửa người dùng sử dụng User_name là“CMXQ” với
user_pass mới là “654321”, ta làm như sau:
11
11


user_name = “CMXQ””;
Mysqli_query($sql);
?>
• Truy vấn kết quả trả về
// Câu SQL lấy danh sách
$sql = "SELECT id, title, content FROM News";
// Thực thi câu truy vấn và gán vào $result
$result = mysqli_query($conn, $sql);

// Kiểm tra số lượng record trả về có lơn hơn 0
// Nếu lớn hơn tức là có kết quả, ngược lại sẽ không có kết quả
if (mysqli_num_rows($result) > 0)
{
// Sử dụng vòng lặp while để lặp kết quả
while($row = mysqli_fetch_assoc($result)) {
echo "title: " . $row["title"]. " - Content: " . $row["content"]. "
";
}
}
else {
echo "Không có record nào";
}
// ngắt kết nối
mysqli_close($conn);
1.4 GIỚI THIỆU VỀ MYSQL
MySQL là một hệ quản trị cơ sở dữ liệu mạnh mẽ. Nó rất tốt và miễn phí.
Nhiều nhà phát triển trên thế giới đã chọn mysql và php để phát triển trang web
của họ.
MySQL có tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt
động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất
mạnh. Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng
có truy cập CSDL trên internet. MySQL miễn phí hoàn toàn cho nên bạn có thể
12
12


tải về MySQL từ trang chủ. Nó có nhiều phiên bản cho các hệ điều hành khác
nhau: phiên bản Win32 cho các hệ điều hành dòng Windows, Linux, Mac OS X
MySQL được sử dụng cho việc bổ trợ PHP, Perl, và nhiều ngôn ngữ khác,
nó làm nơi lưu trữ những thông tin trên các trang web viết bằng PHP hay Perl.

1.5 TẠI SAO NÊN DÙNG MYSQL
• Tốc độ: MySQL rất nhanh. Những nhà phát triển cho rằng MySQL là cơ
sở dữ liệu nhanh nhất mà bạn có thể có.
• Dễ sử dụng: MySQL tuy có tính năng cao nhưng thực sự là một hệ thống
cơ sở dữ liệu rất đơn giản và ít phức tạp khi cài đặt và quản trị hơn các hệ
thống lớn.
• Giá thành: MySQL là miễn phí cho hầu hết các việc sử dụng trong một tổ
chức.
• Hỗ trợ ngôn ngữ truy vấn: MySQL hiểu SQL, là ngôn ngữ của sự chọn
lựa cho tất cả các hệ thống cơ sở dữ liệu hiện đại. Bạn cũng có thể truy
cập MySQL bằng cách sử dụng các ứng dụng mà hỗ trợ ODBC (Open
Database Connectivity -một giao thức giao tiếp cơ sở dữ liệu được phát
triển bởi Microsoft).
• Năng lực: Nhiều client có thể truy cập đến server trong cùng một thời
gian. Các client có thể sử dụng nhiều cơ sở dữ liệu một cách đồng thời.
Bạn có thể truy cập MySQL để tương tác, truy vấn và xem các kết quả:
các dòng yêu cầu của khách hàng, các trình duyệt Web…
• Kết nối và bảo mật: MySQL được nối mạng một cách đầy đủ, các cơ sở
dữ liệu có thể được truy cập từ bất kỳ nơi nào trên Internet do đó bạn có
thể chia sẽ dữ liệu của bạn với bất kỳ ai, bất kỳ nơi nào. MySQL kiểm
soát quyền truy cập cho nên người mà không nên nhìn thấy dữ liệu của
bạn thì không thể nhìn được.
• Tính linh động: MySQL chạy trên nhiều hệ thống UNIX cũng như không
phải UNIX chẳng hạn như Windows hay OS/2. MySQL chạy được các
với mọi phần cứng từ các máy PC ở nhà cho đến các máy server.
• Sự phân phối rộng: MySQL rất dễ dàng đạt được, chỉ cần sử dụng trình
duyệt web của bạn. Nếu bạn không hiểu làm thế nào mà nó làm việc hay
13
13



tò mò về thuật toán, bạn có thể lấy mã nguồn và tìm tòi nó. Nếu bạn
không thích một vài cái, bạn có thể thay đổi nó.
• Sự hỗ trợ: Bạn có thể tìm thấy các tài nguyên có sẵn mà MySQL hỗ trợ.
Cộng đồng MySQL cũng rất lớn giúp cho các câu hỏi của bạn có thể được
trả lời ngay tức thì.
1.6 GIỚI THIỆU VỀ BOOTRAP
1.6.1 Khái niệm Bootrap.
Bootstrap là một framework cho phép thiết kế website reponsive nhanh
hơn và dễ dàng hơn.
Bootstrap là bao gồm các HTML templates, CSS templates và Javascript
tạo ra những cái cơ bản có sẵn như: typography, forms, buttons, tables,
navigation, modals, image carousels và nhiều thứ khác. Trong bootstrap có thêm
các plugin Javascript trong nó. Giúp cho việc thiết kế reponsive của bạn dễ dàng
hơn và nhanh chóng hơn.
1.6.2 Ưu điểm khi sử dụng Bootrap.
Bootstrap là một trong những framework được sử dụng nhiều nhất trên
thế giới để xây dựng nên một website. Bootstrap đã xây dựng nên một chuẩn
riêng và rất được người dùng ưa chuộng. Chính vì thế, chúng ta hay nghe tới một
cụm từ rất thông dụng "Thiết kế theo chuẩn Bootstrap".
Từ cái "chuẩn mực" này, chúng ta có thể thấy rõ được những điểm thuận lợi
khi sử dụng Bootstrap.


Rất dễ để sử dụng: Nó đơn giản vì nó được base trên HTML, CSS và
Javascript chỉ cẩn có kiến thức cơ bản về 3 cái đó là có thể sử dụng
bootstrap tốt.




Responsive: Bootstrap xây dựng sẵn reponsive css trên các thiết bị
Iphones, tablets, và desktops. Tính năng này khiến cho người dùng tiết
kiệm được rất nhiều thời gian trong việc tạo ra một website thân thiện
với các thiết bị điện tử, thiết bị cầm tay.

14
14




Tương thích với trình duyệt: Nó tương thích với tất cả các trình duyệt
(Chrome, Firefox, Internet Explorer, Safari, and Opera). Tuy nhiên, với
IE browser, Bootstrap chỉ hỗ trợ từ IE9 trở lên. Điều này vô cùng dễ hiểu
vì IE8 không support HTML5 và CSS3.

1.6.3 Tại sao nên sử dụng Bootrap.
Lý do đầu tiên khiến Bootstrap dần trở nên phổ biến và xứng đáng được
lựa chon đó là gần đây, các nhà lập trình đã bổ sung thêm tính năng Customize
(Tùy chỉnh). Chức năng này giúp cho các nhà thiết kế linh hoạt hơn trong việc
lựa chọn những thuộc tính, phần tử phù hợp với dự án họ đang theo đuổi. Chức
năng này cũng cho phép bạn không cần phải tải toàn bộ mã nguồn về máy.
Bootstrap không đòi hỏi kiến thức quá phức tạp. Chỉ cần biết sơ qua
HTML, CSS, Javascript, Jquery là bạn có thể sử dụng nó để tạo nên một website
chuyên nghiệp, website theo yêu cầu đúng như mong muốn.
Boostrap được viết bởi những bộ não công nghệ tài năng trên khắp thế
giới. Sự tương thích của trình duyệt với thiết bị đã được kiểm tra nhiều lần trước
khi đưa vào sử dụng, nên khi lựa chọn Bootstrap, bạn có thể tin rằng mình sẽ tạo
nên những sản phẩm hoàn hảo.
Do sử dụng Grid System nên Bootstrap mặc định hỗ trợ Responsive.

Bootstrap được viết theo xu hướng Mobile First tức là ưu tiên cho việc tương
thích với các giao diện trên thiết bị di động. Sử dụng công nghệ này cho website
của bạn sẽ giúp website trở nên tương thích với tất cả kích thước màn hình –
một điều cực kì quan trọng và cần thiết trong trải nghiệm người dùng.
Bootstrap hoạt động theo xu hướng mã nguồn mở nên bạn có thể vào mã
nguồn của nó để thay đổi và chỉnh sửa tùy ý.
1.6.4 Điểm hạn chế của Bootrap.
Với những ưu điểm nổi bật trên thì Bootstrap cũng có những hạn chế nhất
định:
Tính kém phổ biến: Bootstrap không phải là ứng dụng web phổ biến nên
để tìm được một tổ chức, cá nhân thành thạo bootstrap để có thể sử dụng với nền
tảng lập trình web không nhiều.

15
15


Sản phẩm nặng, tốc độ tối ưu chưa cao: nên nếu dự án của bạn đòi hỏi sản
phẩm nhẹ thì việc sử dụng bootstrap sẽ là cả một gánh nặng cho web. chưa hoàn
thiện: Bootstrap chưa đầy đủ các thư viện cần thiết. Các phát triển chưa thể tạo
ra một framework riêng hoàn hảo, do đó một số trang web vẫn phải dùng phiên
bản dành riêng cho mobile
1.7 GIỚI THIỆU VỀ XAMPP
Xampp là phần mềm ứng dụng được sử dụng để xây dựng và phát triển
các webssite và ứng dụng web chạy bằng php. Xampp được các lập trình viên
chuyên nghiệp sử dụng nhiều vì nó có nhiều tính năng nổi bật như:
Cài đặt và sử dụng miễn phí giúp bạn tiết kiệm được nhiều chi phí.
Chương trình quản lý rất hiệu quả giúp bạn chủ động khởi động hay bật
tắt các dịch vụ máy chủ bất cứ khi nào cần.
Xampp được tích hợp nhiều thành phần quan trọng như: Apache, PHP và

MySQL giúp bạn sử dụng dễ dàng. Đây là 3 thành phần cơ bản để bạn có thể
học php nên bạn cần phải đặc biệt quan tâm tới nó nhé.
Hoạt động tốt trên nhiều hệ điều hành như: Linux, Windows, Mac và
Solaris.
Khi nào nên lập trình PHP với Xampp?
• Xampp được sử dụng khi bạn tiến hàng chạy thử miễn phí một website dễ
dàng mà không cần phải mua hosting hay vps gì hết. Trước khi đưa một
trang web hoạt động chính thức bạn nên kiểm tra thật kỹ lưỡng để đảm
bảo nó hoạt động tốt và không có bất cứ lỗi gì xảy ra.
• Khi bạn cần chạy những code PHP, wordpress, joomla, opencat, nuke thì
bạn nên sử dụng Xampp, bạn sẽ thấy được hiệu quả mà nó mang lại rất
lớn.
• Khi phải làm các dự án mà có tình hình tài chính eo hẹp thì nên sử dụng
Xampp vì bạn được sử dụng miễn phí hoàn toàn.


16
16


CHƯƠNG 2: LÝ DO CHỌN ĐỀ TÀI
2.1 LÝ DO CHỌN ĐỀ TÀI
Các khách sạn hiện nay càng ngày càng có quy mô lớn. Có nhiều khách
sạn chiếm trọn cả tòa nhà vài chục tầng, số phòng cần quản lý đến vài chục, vài
trăm phòng là điều bình thường. Số lượng khách đến nghỉ tại khách sạn thì còn
nhiều hơn và thay đổi liên tục. Hơn nữa, khách đến nghỉ tại khách sạn không chỉ
nghỉ mà họ còn đăng kí sử dụng rất nhiều dịch vụ của khách sạn…. Như vậy có
thể thấy được công tác quản lý sẽ rất khó khăn và phức tạp. Ở trong các khách
sạn lớn, nếu vẫn dùng phương pháp quản lý thủ công (ghi, chép) thì cần đến quá
nhiều nhân viên để làm việc này. Như vậy cũng đồng nghĩa với việc khách sạn

sẽ phải trả thêm nhiều chi phí tiền lương hơn cho nhân viên. Hơn nữa nếu dùng
phương pháp thủ công để quản lý thì hiệu quả sẽ không cao, gây nhầm lẫn trong
quản lý là điều khó tránh khỏi. Nhiều người cùng làm công tác quản lý sẽ dẫn
tới dữ liệu không đồng nhất, và rất dễ đánh mất dữ liệu sổ sách. Mặt khác, tốc
đổ xử lý thông tin sẽ cực chậm, giả sử khi có một yêu cầu tìm thông tin một
khách hàng nào đó, người quản lý sẽ phải giở những quyển sổ dày cộp ra để tra
cứu. Việc đăng kí cho khách hàng ở phòng, thanh toàn và giao hóa đơn cho
khách hàng cũng sẽ tốn rất nhiều thời gian, và chắc chắn điều đó sẽ không làm
cho khách hàng hài lòng khi mà họ đang bận rộn…. Như vậy có thể thấy đề tài
là một yêu cầu thiết thực trong quản lý các khách sạn đang hoạt động hiện nay,
do nhu cầu ngày càng tăng về số lượng khách du lịch, số lượng dịch vụ phục vụ,
sự cạnh tranh thương mại, tiết kiệm chi phí hoạt động và quan trọng hơn là sự
hoạt động chính xác và hiệu quả trong quản lý mới là cái quan trọng quyết định
sự thành công trong hoạt động kinh doanh của khách sạn.
Hiện nay công nghệ thông tin đang phát triển hết sức mạnh mẽ. Nó đang
đi vào tất cả các khía cạnh trong đời sống xã hội cũng như trong công tác sản
xuất quản lý. Tất cả cơ quan, tổ chức, công ty… đều muốn tin học hóa vào các
hoạt động của mình. Vì vậy không có lí do gì để từ chối đưa công nghệ thông tin
vào quản lý khách sạn cả. Việc áp dụng CNTT vào công việc quản lý đang trở
thành một nhu cầu thiết yếu và sống còn đối với mỗi khách sạn. Do đó một
website quản lý dành cho các khách sạn để làm các công việc như thế đang là
một yêu cầu cấp bách với đối với các lập trình viên.
17
17


Đối với em, những năm học ở trường là khoảng thời gian dài để học tập
và trau dồi kiến thức. Làm đề tài này giúp em tổng hợp các kiếm thức đã học,
giúp em rèn luyện tư duy và có thêm được kinh nghiệm mới, chính vì các lý do
trên nên em đã quyết định chọn đề tài này.

2.2 MỤC ĐÍCH
Mục đích đầu tiên đó là để em có được một đồ án đạt yêu cầu, một đề tài
nghiên cứu có ý nghĩa.
Thứ hai là để em có cơ hội vận dụng những kiến thức đã học ở trường vào
một đề tài thực tế. Giúp em củng cố kiến thức, phát huy khả năng của mình và
có thêm những kiến thức kinh nghiệm mới, từ đó giúp em tự tin, vững vàng hơn
trên con đường tương lai sự nghiệp sắp tới
Xây dựng chương trình quản lý khách sạn nhằm thực hiện các nhu cầu
làm việc, trao đổi thông tin quản lý… của cán bộ công nhân viên trong khách
sạn. Đồng thời xây dựng chương trình nhằm tin học hóa công tác quản lý của
khách sạn (nhập khách, thanh toàn chi phí, cập nhật dữ liệu. . ) kịp thời, chính
xác là cơ sở phân tích và báo cáo để giảm độ trực tiếp quản lý thống kê. Qua đó
giảm bớt ghi chép mất thời gian cho nhân viên. Và hy vọng rằng, đồ án này sẽ
trở thành một tài liệu tham khảo có giá trị đối với các lập trình viên muốn viết
chương trình quản lý khách sạn khác. Hy vọng website của em sẽ đáp ứng được
nhu cầu thực tế và được các khách sạn chọn dùng

18
18


CHƯƠNG 3: KHẢO SÁT VÀ TÌM HIỂU HỆ THỐNG
3.1 CƠ CẤU TỔ CHỨC CỦA KHÁCH SẠN
Một khách sạn thường có tổ chức như sau:
Giám đốc, người quản lý cao cấp: Có nhiệm vụ quản lý trực tiếp khách
sạn, mọi vấn đề của khách sạn đều phải thông qua người này, người này có
quyền quyết định tất cả mọi thông tin xử lý trong khách sạn.
Phòng tiếp tân: Có nhiệm vụ hoàn thành công việc đăng kí, giao phòng
cho khách và nhận lại phòng, lập phiếu thanh toán và thu tiền của khách, nhận
những yêu cầu của khách, giới thiệu và giải đáp thắc mắc của khách.

Phòng bảo vệ: Bảo vệ có nhiệm vụ giữ xe, khuân vác hành lý và giữ gìn
an ninh trật tự trong khách sạn. Theo dõi các thiết bị của khách sạn và chịu trách
nhiệm về an ninh cũng như hệ thống điện trong khách sạn.
Phòng Phục vụ: Kiểm tra và dọn vệ sinh phòng. Phục vụ ăn uống, giặt là
đưa đón khách bằng xe của khách sạn khi có yêu cầu
3.2 PHÂN TÍCH NGHIỆP VỤ
3.2.1 Các công việc cần quản lý
Quản lý người dùng: Trong hệ thống website, sẽ có 2 loại đối tượng
người dùng. Đó là nhóm người trong công ty bao gồm người quản lý cao cấp,
giám đốc và bộ phận tiếp tân (nhóm này có toàn quyền sử dụng mọi chức năng
trong hệ thống website như: Thêm, sửa, xóa thông tin về phòng, trang thiết bị,
dịch vụ…), Thường thì giám đốc và những người quản lý cấp cao sử dụng tài
khoản của mình để giám sát hoạt động hiện tại của khách sạn còn bộ phận lễ tân
sử dụng hệ thống website đề hoàn thành công tác đăng kí, giao phòng, thanh
toán…. Và đối tượng người dùng thứ hai là khách hàng. Đối tượng này sẽ bị hạn
chế chức năng của phần mềm , chỉ có thể xem tin tức, thông tin, đặt phòng
online, …Chức năng quản lý người dùng có nhiệm vụ thêm, sửa, xóa người
dùng mới cho hệ thống, phân quyền người dùng cho hai mức trên.
Quản lý khách hàng: Mỗi khách hàng của khách sạn đều được quản lý
những thông tin sau: họ tên, ngày tháng năm sinh, giới tính, địa chỉ, điện thoại,
email, CMND/CCCD, quốc tịch. Hệ thống website sẽ cho phép nhân viên: Nhập
thông tin khách hàng đến ở, in ra danh sách các khách hàng đang ở trong khách
sạn và tìm kiếm khách hàng (theo phòng, theo CMND, theo tên).
19
19


Quản lý phòng: Các phòng của khách sạn sẽ được quản lý dựa vào định
danh của phòng (mã phòng), loại phòng, giá cơ bản. Khách sạn gồm có 3 loại
phòng:1, 2, 3 tương ứng với các mức giá và chất lượng tiện nghi nội thất khác

nhau. Việc quản lý phòng sẽ giúp nhân viên lễ tân biết được tình trạng phòng
(trống, có người ở) để phục vụ công việc đặt phòng cho khách. Website sẽ cho
phép nhập thêm mới phòng, xóa phòng khỏi hệ thống, in ra danh sách phòng,
xem thông tin của phòng…
Quản lý các dịch vụ của khách sạn: Khách sạn có những dịch vụ tùy
chọn cho khách hàng như: massage, giặt là, dịch vụ xe, dịch vụ trông trẻ…. Việc
quản lý các dịch vụ bao gồm: quản lý việc đăng kí sử dụng dịch vụ của khách,
quản lý các dịch vụ mà khách hàng đã sử dụng và quản lý chính bản thân dịch
vụ: tên, giá….
Quản lý đăng kí thuê phòng: Tất cả các thông tin đăng kí thuê phòng đều
được quản lý dựa trên số đăng kí, khách hàng đăng kí, ngày giờ đến, ngày giờ
đi, số tiền đặt cọc, số phòng cần thuê, …Khách có thể đăng kí đặt phòng trước
hoặc đăng kí ở luôn.
Quản lý việc trả phòng: Dựa trên thông tin đăng kí thuê phòng. Có thể trả
phòng trước thời hạn đăng kí. Nếu khách muốn gia hạn thêm thời gian ở khách
sạn thì phải làm thủ tục đăng kí lại. Bên cạnh việc trả phòng, khách sạn sẽ dễ
kiểm tra tình trạng phòng, đồng thời xuất hóa đơn để khách hàng thanh toán các
chi phí.
Ngoài ra website còn hỗ trợ nhân viên nhiều việc khác: hỗ trợ hủy đăng
kí phòng, việc đăng kí sử dụng dịch vụ của các phòng , xem phí sử dụng của các
phòng, hỗ trợ thanh toán….
3.2.2 Quy trình quản lý
Hoạt động đặt phòng: Khi có nhu cầu đặt phòng khách hàng sẽ liên lạc
với lễ tân thông qua điện thoại hoặc trực tiếp tại khách sạn, thông báo cụ thể về
nhu cầu của mình (ngày đến, ngày đi, số lượng phòng, số lượng người, loại
phòng. . . ). Sau đó, nhân viên lễ tân sẽ kiểm tra danh sách phòng, sổ ghi khách
đăng kí, đối chiếu khả năng đáp ứng của khách sạn đối với nhu cầu của khách và
trả lời. Nếu có thể đáp ứng được nhu cầu của khách, lễ tân sẽ yêu cầu khách
hàng cung cấp thêm một số thông tin phục vụ cho nhu cầu đặt phòng: Thông tin
khách hàng: số CMND, tên khách hàng, giới tính, địa chỉ. Thông tin đặt phòng:

20
20


ngày đến, ngày đi, loại phòng. Những thông tin này được dùng để lễ tân điền
vào thông tin khách hàng vào sổ ghi khách đặt phòng.
Hoạt động thuê phòng: Khi khách đến thuê phòng, nếu khách hàng đã
đăng kí trước, lễ tân sẽ cho khách nhận phòng với thông tin đã ghi trong sổ
khách đặt phòng) và cập nhật lại thông tin khách hàng (nếu có sai sót thông tin).
Sau đó, sẽ làm thủ tục giao phòng cho khách và cập nhật lại trạng thái phiếu đặt
phòng (khi khách hàng đến nhận đúng hạn thì trạng thái phiếu đặt phòng sẽ là
“đã giải quyết”, khách hàng đến nhận phòng trễ hạn hoặc không đến nhận hệ
thống sẽ cập nhật lại trạng thái là “đã hủy”, bình thường trạng thái sẽ là “chưa
xử lý”). Lưu lại thông tin thuê phòng của khách hàng vào phiếu thuê phòng (lấy
từ thông tin phiếu đặt phòng). Nếu khách hàng chưa đăng kí trước khách hàng
phải cung cấp một số thông tin sau: Thông tin khách hàng: tên người nhận
phòng, CMND, số điện thoại, giới tính, địa chỉ; Thông tin thuê phòng: loại
phòng, mã phòng, ngày đến (ngày hiện tại), ngày đi.
Đăng ký sử dụng dịch vụ: Trong quá trình ở tại khách sạn mọi yêu cầu về
dịch vụ của khách sạn sẽ được báo trực tiếp cho lễ tân và nhân viên lễ tân sẽ ghi
vào phiếu dịch vụ với các thông tin: mã dịch vụ, mã phiếu nhận phòng, số
lượng, tổng tiền (của phiếu dịch vụ này). Sau đó lễ tân sẽ yêu cầu bộ phận dịch
vụ thực hiện (ví dụ: giặt ủi, massage, thức uống. . . ). Những dịch vụ khi khách
sừ dụng sẽ được thanh toán chung vào khoản tiền khi trả phòng .
Hoạt động trả phòng: Khi khách hàng trả phòng, khách hàng phải thanh
toán tiền tại quầy lễ tân. Lễ tân sẽ thanh toán tất cả các khoản cho khách thông
qua Hóa đơn có nội dung sau: số CMND, tổng tiền, ngày lập, nhân viên lập Lễ
tân sẽ in chi tiết hóa đơn (Thông tin phòng, chi tiết các dịch vụ đã sử dụng, tổng
tiền phòng, tổng tiền dịch vụ, . . . ) giao cho khách hàng và lưu lại thông tin hóa
đơn và trả lại giấy CMND cho khách hàng.

Hoạt động quản lý dịch vụ: Khi cần diều chỉnh thông tin dịch vụ cũng như
xóa đi các dịch vụ không phù hợp đối với khách sạn nữa hoặc các dịch vụ mà
khách sạn mới được bổ sung sẽ do bộ phận dịch vụ quản lý.
Hoạt động quản lý phòng: Khi cần điều chỉnh thông tin phòng cũng như
xóa đi các phòng đang trong tình trạng sữa chữa không thể phục vụ khách hàng
21
21


hoặc thêm vào các phòng đã được sửa chữa xong sẵn sang phục vụ nhu cầu
khách hàng sẽ do bộ phận kinh doanh quản lý. Nhân viên bộ phân kinh doanh có
thể xóa thông tin khách hàng khi thông tin của khách hàng đó đã quá cũ và
không còn dùng nữa và nhân viên kinh doanh là người quản lý danh sách khách
hàng.
3.3 CÁC CÔNG CỤ TIN HỌC HÓA NHẰM ĐÁP ỨNG.
• Nhập các thông tin:
- Các thông tin về phòng, loại phòng, dịch vụ của khách sạn khi có thêm.
- Các thông tin về khách hàng.
- Các thông tin đăng kí thuê phòng, thuê phòng…
• Xem các thông tin và in ra nếu cần:
- Danh sách khách hàng đang thuê phòng.
- Danh sách đăng kí thuê phòng
- Danh sách phòng.
- Danh sách các dịch vụ của khách sạn.
- Danh sách hóa đơn.
• Cập nhật các thông tin:
Giá phòng, giá dịch vụ…có thể thay đổi theo mùa, tăng hoặc giảm bất
thường nên cần phải cập nhật liên tục và chính xác. Cũng có thể cập nhật thông
tin về khách hàng, về các dịch vụ hay trạng thái từng phòng….
• Tra cứu thông tin:

- Khách hàng theo họ tên, CMND….
- Phiếu đăng kí dịch vụ.
- Hóa đơn thanh toán.

22
22


CHƯƠNG 4: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
4.1 ĐẶC TẢ TÁC NHÂN VÀ USECASE
4.1.1 Tác nhân
- Khách hàng: Người có nhu cầu thuê phòng, đăng kí đặt phòng và sử dụng
dịch vụ ở khách sạn.
- Nhân viên lễ tân: là người trực tiếp quản lý hầu hết các hoạt động trong
khách sạn như quản lý danh mục phòng , quản lý danh mục khách hàng,
quản lý danh mục dịch vụ, quản lý thuê phòng …
- Người quản lý: là người điều hành, kiểm soát nhân viên, tổng hợp, thống
kê, báo cáo hàng tháng trên website .
4.1.2 Use case
- Quản lý thuê phòng (lập phiếu thuê phòng, gia hạn ngày trả, thanh toán,
sửa thông tin thuê phòng, tìm kiếm) .
- Quản lý danh mục khách hàng (thêm, sửa, xóa, tìm kiếm khách hàng) .
- Quản lý danh mục phòng (thêm, sửa, xóa tìm kiếm phòng) .
- Quản lý danh mục loại phòng (thêm, sửa, xóa tìm kiếm loại phòng)
- Quản lý danh mục dịch vụ (thêm, sửa, xóa tìm kiếm dịch vụ) .
- Quản lý sử dụng dịch vụ (cập nhật phiếu sử dụng dịch vụ, lập phiếu sử
dụng dịch vụ) .
- Quản lý người dùng (đăng nhập, kiểm tra tài khoản, phân quyền, thêm,
sửa, xóa tài khoản thành viên) .


23
23


4.2 BIỂU ĐỒ CA SỬ DỤNG
4.2.1 Usecase toàn hệ thống

Hình 4.1 Usecase toàn bộ hệ thống

24
24


4.2.2 Usecase lễ tân

Hình 4.2 Usecase lễ tân.
4.2.3 Usecase khách hàng

Hình 4.3 Usecase khách hàng.
25
25


×