Tải bản đầy đủ (.doc) (51 trang)

XÂY DỰNG WEBSITE CỔNG THÔNG TIN DU LỊCH ĐÀ NẴNG

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 (853.17 KB, 51 trang )

HỌC VIỆN QUẢN LÝ GIÁO DỤC
KHOA CÔNG NGHỆ THÔNG TIN
-------------- ***----------------

KHÓA LUẬN

TỐT NGHIỆP ĐẠI HỌC
NGÀNH TIN HỌC ỨNG DỤNG

TÊN ĐỀ TÀI:
XÂY DỰNG WEBSITE
CỔNG THÔNG TIN DU LỊCH ĐÀ NẴNG

Sinh viên thực hiện: Hoàng Bích Quyên
Lớp: CNTT – K2A
Giáo viên hướng dẫn: Th.s Tạ Thị Thanh Bình

HÀ NỘI, THÁNG 5 – 2012
1


MỤC LỤC
*******
MỤC LỤC...................................................................................................................................2
BẢNG DANH TỪ VIẾT TẮT....................................................................................................4
DANH MỤC CÁC BẢNG..........................................................................................................5
DANH MỤC HÌNH.....................................................................................................................6
LỜI CẢM ƠN..............................................................................................................................7
MỞ ĐẦU.....................................................................................................................................8
1.Giới thiệu về vấn đề nghiên cứu...........................................................................................8
2.Mục đích của đề tài...............................................................................................................9


3.Giới hạn và phạm vi đề tài....................................................................................................9
4.Giới thiệu tóm tắt bố cục của đề tài......................................................................................9
PHẦN 1: TỔNG QUAN VỀ ĐỀ TÀI.......................................................................................10
1.1.Nhiệm vụ đề tài và định hướng giải quyết.......................................................................10
1.2.Giới thiệu và cài đặt công cụ xây dựng hệ thống Website du lịch Đà Nẵng...................12
1.2.1.Giới thiệu về ngôn ngữ lập trình PHP......................................................................13
1.2.2.Giới thiệu về hệ quản trị cơ sở dữ liệu MySQL.......................................................17
1.2.3.PHP và MySQL........................................................................................................18
1.2.4.Cài đặt Web Sever Xampp........................................................................................19
PHẦN 2: KẾT QUẢ ĐẠT ĐƯỢC............................................................................................20
1.1.Phân tích thiết kế hệ thống...............................................................................................20
1.1.1.Phân tích các chức năng của hệ thống......................................................................20
1.1.2.Biểu đồ phân cấp chức năng.....................................................................................20
1.1.3.Biểu đồ luồng dữ liệu................................................................................................21
1.1.4.Biểu đồ luồng dữ liệu mức đỉnh...............................................................................22
1.1.5.Biểu đồ luồng dữ liệu mức dưới đỉnh.......................................................................23
1.2.Thiết kế hệ thống.............................................................................................................24
1.2.1.Thiết kế dữ liệu cho hệ thống...................................................................................24
1.2.2.Xây dựng hệ thống Website......................................................................................26
1.3.Thiết kế giao diện Website Cổng Thông Tin Du Lịch Đà Nẵng.....................................28
1.3.1.Giao diện Đăng nhập................................................................................................29
1.3.2.Giao diện Trang chủ.................................................................................................29
1.3.3.Giao diện Tìm Kiếm.................................................................................................31
1.3.4.Giao diện Chuyên mục Tin Tức................................................................................32
1.3.5.Giao diện Chuyên mục Điểm đến.............................................................................33
1.3.6.Giao diện Chuyên mục Tour Du Lịch......................................................................35
1.3.7.Giao diện Chuyên mục Dịch vụ................................................................................36
1.4.Hệ thống quản trị Website ..............................................................................................37
1.4.1.Giao diện Trang chủ.................................................................................................37
1.4.2.Giao diện Quản lý bài viết........................................................................................38

2


1.4.3.Giao diện Thêm bài viết mới....................................................................................39
1.4.4.Giao diện Quản lý Thể loại bài viết..........................................................................40
1.4.5.Giao diện Quản lý Tác giả........................................................................................41
1.4.6.Giao diện Quản lý đăng tải bài viết..........................................................................42
1.5.Các thủ thuật SEO tốt cho website tin tức.......................................................................43
1.5.1 Hệ thống Search Engine...........................................................................................44
1.5.2Bước đầu làm SEO cho website................................................................................46
1.5.3Các thủ thuật SEO tốt cho website tin tức.................................................................46
KẾT LUẬN...............................................................................................................................49
1.Kết quả đạt được.................................................................................................................50
2. Hướng phát triển................................................................................................................50
TÀI LIỆU THAM KHẢO.........................................................................................................50

3


BẢNG DANH TỪ VIẾT TẮT
*********

CNTT: Công nghệ thông tin
CSDL: Cơ sở dữ liệu
HT: Hệ thống
QTHT: Quản trị hệ thống

4



DANH MỤC CÁC BẢNG
**********

Bảng 1: Bảng dữ liệu Quản lý người QTHT……………………………………….23
Bảng 2: Bảng dữ liệu Quản lý Bài viết……………………………………………..24
Bảng 3: Bảng dữ liệu Quản lý Đăng tải bài viết…………………………………24
Bảng 4: Bảng dữ liệu Quản lý Tác giả……………………………………………24
Bảng 5: Bảng dữ liệu Quản lý Thể loại bài viết…………………………………25

5


DANH MỤC HÌNH
*********

Hình 1: Biểu đồ phân cấp chức
năng………………………………………………..19
Hình 2: Biểu đồ luồng dữ liệu mức khung cảnh……………………………………
20
Hình 3: Biểu đồ luồng dữ liệu mức đỉnh……………………………………………21
Hình 4: Biểu đồ luồng dữ liệu mức dưới đỉnh……………………………………..22
Hình 5: Giao diện Đăng nhập hệ thống…………………………………………….27
Hình 6: Giao diện Trang chủ………………………………..………………………29
Hình 7: Giao diện Tìm kiếm……………………………………….…………………30
Hình 8: Giao diện Chuyên mục Tin
tức……………………………………………..31
Hình 9: Giao diện Chuyên mục Điểm đến………………………………………….32
Hình 10: Giao diện Chuyên mục Tour du lịch………………………………..……33
Hình 11: Giao diện Chuyên mục Dich vụ………………………………………..…34
Hình 12: Giao diện Trang chủ hệ thống……………………………..……………..35

Hình 13: Giao diện Quản lý bài viết…………………………...……………………
36
Hình 14: Giao diện Thêm bài viết mới………………………………………………
37
Hình 15: Giao diện Quản lý thể loại bài viết……………...………………………38
Hình 16: Giao diện Quản lý Tác giả…………………..……………………………39
Hình 17: Giao diện Quản lý Đăng tải bài viết…………………………………….40

6


LỜI CẢM ƠN
*****

Lời đầu tiên em xin gửi lời cảm ơn sâu sắc tới các thầy cô giáo khoa CNTT Học
viện Quản Lý Giáo Dục và cô giáo Tạ Thị Thanh Bình người đã tận tình hướng dẫn em
trong suốt quá trình thực hiện khóa luận tốt nghiệp.
Em cũng xin gửi lời cảm ơn đến các thầy cô và các bạn đã giúp đỡ em hoàn
thành đề tài này.
Do chưa có nhiều kinh nghiệm trong việc làm đề tài nên không tránh khỏi
những thiếu sót. Em mong nhận được sự góp ý của các thầy cô và các bạn để đề tài
được hoàn thiện hơn.
Em xin chân thành cảm ơn!

Sinh viên
Hoàng Bích Quyên

7



MỞ ĐẦU
*****

1.

Giới thiệu về vấn đề nghiên cứu

Trong những năm gần đây, khoa học công nghệ Việt Nam đã từng bước hội
nhập vào dòng chảy của khoa học công nghệ tiên tiến trên thế giới. Công nghệ thông
tin ở nước ta mới, song tốc độ phát triển của nó rất nhanh và mạnh, chiếm một vị trí
quan trọng trong các ngành khoa học công nghệ. Thành tựu của nó được ứng dụng
trong mọi lĩnh vực của đời sống, xã hội.
Trong thời kỳ hội nhập kinh tế quốc tế, du lịch là một ngành được dự kiến sẽ trở
thành ngành kinh tế mũi nhọn của nước ta. Ra đời từ năm 1960 nhưng du lịch Việt
Nam chỉ thực sự phát triển, đặc biệt trong khoảng 20 năm lại đây. Từ chỗ chỉ đón
khoảng 250.000 lượt khách quốc tế vào năm 1990, đến năm 2009, cả nước đón 3,8
triệu lượt khách quốc tế, 25 triệu lượt khách nội địa với thu nhập từ du lịch đạt khoảng
70 nghìn tỷ đồng, thu hút khoảng 8,8 tỷ USD, chiếm 41% tổng số vốn đăng ký FDI vào
Việt Nam.Hiện du lịch đóng góp khoảng 5% GDP của quốc gia. Từ năm 1991 đến năm
2009, lao động trực tiếp trong lĩnh vực du lịch tăng gần 20 lần, từ 21.000 người lên
370.000 người và lao động gián tiếp khoảng trên 700.000 người…(Theo tổng cục du
lịch Việt Nam).
Internet đóng vai trò quan trọng trong việc tuyên truyền, đặc biệt là các website
về du lịch, có thể quảng bá về nét đẹp của du lịch Việt Nam, về các khu du lịch nổi
tiếng trên khắp đất nước, giúp khách du lịch có thể tìm kiếm những địa điểm du lịch
đẹp, những thông tin cần thiết cho chuyến đi...
Với Bờ Biển đẹp trải dài hơn 3.260 km cùng nhiều thắng cảnh nổi tiếng, Việt
Nam sẽ trở thành một trung tâm du lịch biển của thế giới, một Thiên Đường Du
Lịch.Đà Nẵng là một thành phố biển đẹp nên thơ đang trên đà phát triển vượt bậc, để
đón chào các du khách trong và ngoài nước đến thăm quan và khám phá.

Với mong muốn tìm hiểu và xây dựng một Website giới thiệu về vùng đất, con
người và văn hóa du lịch Đà Nẵng. Tôi chọn đề tài: “ XÂY DỰNG WEBSITE CỔNG
THÔNG TIN DU LỊCH ĐÀ NẴNG” để làm đề tài khóa luận tốt nghiệp đồng thời
8


mong muốn giúp những du khách sắp đến và sẽ đến với Đà Nẵng và với những ai
muốn tìm hiểu về Đà Nẵng có những thông tin đa dạng, chính xác và cập nhật nhất.

2.

Mục đích của đề tài

Xây dựng website cổng thông tin du lịch Đà Nẵng nhằm quảng bá nét đẹp của
thành phố Đà Nẵng.
Áp dụng những kiến thức đã học để thiết kế, xây dựng website bằng ngôn ngữ
PHP và MySQL

3.

Giới hạn và phạm vi đề tài

Đề tài được xây dựng chỉ dừng lại ở phạm vi là một website tin tức du lịch, xã
hội, quảng cáo và tìm kiếm.
Nguồn tài liệu, tin tức và hình ảnh về Đà Nẵng được tham khảo tại các
website của các cơ quan thành phố Đà Nẵng, các website du lịch của Đà Nẵng cũng
như của Hà Nội…
Sử dụng công cụ ngôn ngữ lập trình PHP và MySQL trên nền Web server
Xampp để thiết kế trang web.


4.













Giới thiệu tóm tắt bố cục của đề tài
Báo cáo gồm 4 phần chính:
+ Mở đầu:
Giới thiệu về vấn đề nghiên cứu
Mục đích của đề tài
Giới hạn và phạm vi đề tài
Giới thiệu tóm tắt bố cục của đề tài
+ Phần 1: Tổng quan về đề tài
Nhiệm vụ đề tài và định hướng giải quyết
Giới thiệu và cài đặt công cụ xây dựng hệ thống Website
+ Phần 2: Kết quả đạt được
Phân tích hệ thống
Thiết kế hệ thống
Các bảng dữ liệu của hệ thống
Xây dựng hệ thống Website
Thiết kế giao diện của hệ thống Website Cổng thông tin du lịch Đà Nẵng

Hệ thống quản trị website
Các thủ thuật SEO tốt cho web tin tức
9


+ Kết luận
• Đánh giá kết quả đạt được, chưa đạt được
• Hướng phát triển

PHẦN 1: TỔNG QUAN VỀ ĐỀ TÀI
***************

1.1.

Nhiệm vụ đề tài và định hướng giải quyết

Cuộc sống ngày càng tốt hơn, song song với đời sống vật chất thì đời sống tinh
thần cũng là một phần không thể thiếu, đó cũng là một hệ quả tất yếu. Nhu cầu du lịch,
ẩm thực, nghỉ ngơi rất được nhiều người quan tâm.
Các công ty hoạt động trong lĩnh vực phải nghĩ đến những giải pháp chiến lược
cho sự phát triển dịch vụ của mình. Một trong những lựa chọn hàng đầu hiện nay là
xây dựng cho mình một website đáp ứng yêu cầu cả về chức năng và thẩm mỹ với dịch
vụ mà mình cung cấp.
Thiết kế một website với đầy đủ thông tin về tin tức, văn hóa, địa điểm du lịch,
nhà hàng khách sạn, ẩm thực là một giải pháp tối ưu.
Để dựng Website du lịch Đà Nẵng dựa trên các module sau:
STT

Chức năng module


Mô tả chi tiết

Các module trong việc xuất bản nội dung, giao diện tương tác người dùng

10


1

Thiết kế giao diện

Web site về du lich thì giao diện
người dùng là yếu tố quan trọng. Phải thể
hiện được các đặc điểm:
Tính thẩm mỹ
Tính nghệ thuật
Tạo cảm giác ấn tượng với
người dùng
Tính tiện dụng và đầy đủ
thông tin

2

Trang chủ

Thể hiện tổng quan nội dung của
toàn bộ website như:
Các tin tức nổi bật đáng chú
ý
Các dịch vụ hữu ích

Chuyên mục Điểm đến
Chuyên mục Quảng cáo

3

Mục tin tức

Cập nhật các tin tức về du lịch và
các sự kiện

11


4

Mục Điểm đến

Giới thiệu các địa điểm du lịch đẹp
của Đà Nẵng….

5

Mục Tour du lịch

Giới thiệu các tour du lịch trong và
ngoài nước cho khách tham quan

6

Mục Dịch vụ


Giới thiệu các Khu nghỉ dưỡng,
khách sạn, nhà hàng, spa nổi tiếng…

7

Mục Vươn ra thế giới

Cập nhật những tin tức về thời sự
trong và ngoài nước

8

Tìm kiếm

Tìm kiếm bài viết theo từ khóa

Module trong hệ thống quản trị nội dung
1

Quản lý thành viên

Quản lý danh sách người quản trị hệ
thống

2

Quản lý bài viết

3


Quản lý thể loại

Quản lý danh sách các thể loại bài
viết trong website

4

Quản lý tác giả

Quản lý danh sách các tác giả viết bài
cho website

5

Quản lý đăng tải bài viết

Các bài viết sau khi được thêm được
xem xét chỉnh sửa trước khi đăng tải

1.2.
Đà Nẵng

Quản lý các bài viết trong website

Giới thiệu và cài đặt công cụ xây dựng hệ thống Website du lịch

Trong giai đoạn khởi đầu của website, có rất nhiều ngôn ngữ lập trình được sử
dụng như: JSP, ASP, PHP, ASP.NET... Nhưng hiện tại có 2 ngôn ngữ được dùng phổ
biến là PHP và ASP.NET.

PHP là ngôn ngữ được sử dụng phổ biến nhất trên thế giới. Để thiết kế website
Cổng thông tin du lịch Đà Nẵng, sử dụng ngôn ngữ PHP và MySQL chạy trên nền
Web Server Xampp.
12


1.2.1. Giới thiệu về ngôn ngữ lập trình PHP
1.2.1.1 PHP là gì?
PHP (viết tắt hồi quy "PHP: Hypertext Preprocessor") là một ngôn ngữ lập trình
kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho
máy chủ, mã nguồn mở, dùng cho mục đích tổng quát. Nó rất thích hợp với web và có
thể dễ dàng nhúng vào trang HTML. 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 web phổ biến nhất thế giới.
Đoạn mã sau minh họa giúp cách viết PHP lồng vào các trang HTML dễ dàng
như thế nào:
<html>
<head>
<title>Mã mẫu</title>
</head>
<body>
echo "Chào thế giới PHP!";
?>
</body>
</html>
Thẻ <?php và thẻ ?> sẽ đánh đấu sự bắt đầu và sự kết thúc của phần mã PHP
qua đó máy chủ biết để xử lý và dịch mã cho đúng. Đây là một điểm khá tiện lợi của
PHP giúp cho việc viết mã PHP trở nên khá trực quan và dễ dàng trong việc xây dựng

phần giao diện ứng dụng HTTP.
Ngôn ngữ, các thư viện, tài liệu gốc của PHP được xây dựng bởi cộng đồng và
có sự đóng góp rất lớn của Zend Inc., công ty do các nhà phát triển cốt lõi của PHP lập
13


nên nhằm tạo ra một môi trường chuyên nghiệp để đưa PHP phát triển ở quy mô doanh
nghiệp.
1.2.1.2 Lịch sử phát triển của PHP
PHP/FI
PHP được phát triển từ một sản phẩm có tên là PHP/FI. PHP/FI do Rasmus
Lerdorf tạo ra năm 1995, ban đầu được xem như là một tập con đơn giản của các mã
kịch bản Perl để theo dõi tình hình truy cập đến bản sơ yếu lý lịch của ông trên mạng.
Ông đã đặt tên cho bộ mã kịch bản này là 'Personal Home Page Tools'. Khi cần đến các
chức năng rộng hơn, Rasmus đã viết ra một bộ thực thi bằng C lớn hơn để có thể truy
vấn tới các cơ sở dữ liệu và giúp cho người sử dụng phát triển các ứng dụng web đơn
giản. Rasmus đã quyết định công bố mã nguồn của PHP/FI cho mọi người xem, sử
dụng cũng như sửa các lỗi có trong nó đồng thời cải tiến mã nguồn.
PHP/FI, viết tắt từ "Personal Home Page/Forms Interpreter", bao gồm một số
các chức năng cơ bản cho PHP như ta đã biết đến chúng ngày nay. Nó có các biến kiểu
như Perl, thông dịch tự động các biến của form và cú pháp HTML nhúng. Cú pháp này
giống như của Perl, mặc dù hạn chế hơn nhiều, đơn giản và có phần thiếu nhất quán.
Vào năm 1997, PHP/FI 2.0, lần viết lại thứ hai của phiên bản C, đã thu hút được
hàng ngàn người sử dụng trên toàn thế giới với xấp xỉ 50.000 tên miền đã được ghi
nhận là có cài đặt nó, chiếm khoảng 1% số tên miền có trên mạng Internet. Tuy đã có
tới hàng nghìn người tham gia đóng góp vào việc tu chỉnh mã nguồn của dự án này thì
vào thời đó nó vẫn chủ yếu chỉ là dự án của một người.
PHP/FI 2.0 được chính thức công bố vào tháng 11 năm 1997, sau một thời gian
khá dài chỉ được công bố dưới dạng các bản beta. Nhưng không lâu sau đó, nó đã được
thay thế bởi các bản alpha đầu tiên của PHP 3.0.

PHP 3
PHP 3.0 là phiên bản đầu tiên cho chúng ta thấy một hình ảnh gần gũi với các
phiên bản PHP mà chúng ta được biết ngày nay. Nó đã được Andi Gutmans và Zeev
Suraski tạo ra năm 1997 sau khi viết lại hoàn toàn bộ mã nguồn trước đó. Lý do chính
mà họ đã tạo ra phiên bản này là do họ nhận thấy PHP/FI 2.0 hết sức yếu kém trong
việc phát triển các ứng dụng thương mại điện tử mà họ đang xúc tiến trong một dự án
của trường đại học. Trong một nỗ lực hợp tác và bắt đầu xây dựng dựa trên cơ sở
người dùng đã có của PHP/FI, Andi, Rasmus và Zeev đã quyết định hợp tác và công bố
PHP 3.0 như là phiên bản thế hệ kế tiếp của PHP/FI 2.0, và chấm dứt phát triển PHP/FI
2.0.
Một trong những sức mạnh lớn nhất của PHP 3.0 là các tính năng mở rộng
mạnh mẽ của nó. Ngoài khả năng cung cấp cho người dùng cuối một cơ sở hạ tầng chặt
chẽ dùng cho nhiều cơ sở dữ liệu, giao thức và API khác nhau, các tính năng mở rộng
của PHP 3.0 đã thu hút rất nhiều nhà phát triển tham gia và đề xuất các mô đun mở
14


rộng mới. Hoàn toàn có thể kết luận được rằng đây chính là điểm mấu chốt dẫn đến
thành công vang dội của PHP 3.0. Các tính năng khác được giới thiệu trong PHP 3.0
gồm có hỗ trợ cú pháp hướng đối tượng và nhiều cú pháp ngôn ngữ nhất quán khác.
Ngôn ngữ hoàn toàn mới đã được công bố dưới một cái tên mới, xóa bỏ mối liên
hệ với việc sử dụng vào mục đích cá nhân hạn hẹp mà cái tên PHP/FI 2.0 gợi nhắc. Nó
đã được đặt tên ngắn gọn là 'PHP', một kiểu viết tắt hồi quy của "PHP: Hypertext
Preprocessor".
Vào cuối năm 1998, PHP đã phát triển được con số cài đặt lên tới hàng chục
ngàn người sử dụng và hàng chục ngàn Web site báo cáo là đã cài nó. Vào thời kì đỉnh
cao, PHP 3.0 đã được cài đặt cho xấp xỉ 10% số máy chủ Web có trên mạng Internet.
PHP 3.0 đã chính thức được công bố vào tháng 6 năm 1998, sau thời gian 9
tháng được cộng đồng kiểm nghiệm.
PHP 4

Vào mùa đông năm 1998, ngay sau khi PHP 3.0 chính thức được công bố, Andi
Gutmans và Zeev Suraski đã bắt đầu bắt tay vào việc viết lại phần lõi của PHP. Mục
đích thiết kế là nhằm cải tiến tốc độ xử lý các ứng dụng phức tạp, và cải tiến tính mô
đun của cơ sở mã PHP. Những ứng dụng như vậy đã chạy được trên PHP 3.0 dựa trên
các tính năng mới và sự hỗ trợ khá nhiều các cơ sở dữ liệu và API của bên thứ ba,
nhưng PHP 3.0 đã không được thiết kế để xử lý các ứng dụng phức tạp như thế này
một cách có hiệu quả.
Một động cơ mới, có tên 'Zend Engine' (ghép từ các chữ đầu trong tên của Zeev
và Andi), đã đáp ứng được các nhu cầu thiết kế này một cách thành công, và lần đầu
tiên được giới thiệu vào giữa năm 1999. PHP 4.0, dựa trên động cơ này, và đi kèm với
hàng loạt các tính năng mới bổ sung, đã chính thức được công bố vào tháng 5 năm
2000, gần 2 năm sau khi bản PHP 3.0 ra đời. Ngoài tốc độ xử lý được cải thiện rất
nhiều, PHP 4.0 đem đến các tính năng chủ yếu khác gồm có sự hỗ trợ nhiều máy chủ
Web hơn, hỗ trợ phiên làm việc HTTP, tạo bộ đệm thông tin đầu ra, nhiều cách xử lý
thông tin người sử dụng nhập vào bảo mật hơn và cung cấp một vài các cấu trúc ngôn
ngữ mới.
Với PHP 4, số nhà phát triển dùng PHP đã lên đến hàng trăm nghìn và hàng
triệu site đã công bố cài đặt PHP, chiếm khoảng 20% số tên miền trên mạng Internet.
Nhóm phát triển PHP cũng đã lên tới con số hàng nghìn người và nhiều nghìn
người khác tham gia vào các dự án có liên quan đến PHP như PEAR, PECL và tài liệu
kĩ thuật cho PHP.
PHP 5
Sự thành công hết sức to lớn của PHP 4.0 đã không làm cho nhóm phát triển
PHP tự mãn.Cộng đồng php đã nhanh chóng giúp họ nhận ra những yếu kém của PHP
4 đặc biệt với khả năng hỗ trợ lập trình hướng đối tượng (OOP), xử lý XML, không hỗ
15


trợ giao thức máy khách mới của MySQL 4.1 và 5.0, hỗ trợ dịch vụ web yếu. Những
điểm này chính là mục đích để Zeev và Andi viết Zend Engine 2.0, lõi của PHP 5.0.

Một thảo luận trên Slashdot đã cho thấy việc phát triển PHP 5.0 có thể đã bắt đầu vào
thời điểm tháng 12 năm 2002 nhưng những bài phỏng vấn Zeev liên quan đến phiên
bản này thì đã có mặt trên mạng Internet vào khoảng tháng 7 năm 2002. Ngày 29 tháng
6 năm 2003, PHP 5 Beta 1 đã chính thức được công bố để cộng đồng kiểm nghiệm. Đó
cũng là phiên bản đầu tiên của Zend Engine 2.0. Phiên bản Beta 2 sau đó đã ra mắt vào
tháng 10 năm 2003 với sự xuất hiện của hai tính năng rất được chờ đợi: Iterators,
Reflection nhưng namespaces một tính năng gây tranh cãi khác đã bị loại khỏi mã
nguồn. Ngày 21 tháng 12 năm 2003: PHP 5 Beta 3 đã được công bố để kiểm tra với
việc phân phối kèm với Tidy, bỏ hỗ trợ Windows 95, khả năng gọi các hàm PHP bên
trong XSLT, sửa chữa nhiều lỗi và thêm khá nhiều hàm mới. PHP 5 bản chính thức đã
ra mắt ngày 13 tháng 7 năm 2004 sau một chuỗi khá dài các bản kiểm tra thử bao gồm
Beta 4, RC 1, RC2, RC3. Mặc dù coi đây là phiên bản sản xuất đầu tiên nhưng PHP 5.0
vẫn còn một số lỗi trong đó đáng kể là lỗi xác thực HTTP.
Ngày 14 tháng 7 năm 2005, PHP 5.1 Beta 3 được PHP Team công bố đánh dấu
sự chín muồi mới của PHP với sự có mặt của PDO, một nỗ lực trong việc tạo ra một hệ
thống API nhất quán trong việc truy cập cơ sở dữ liệu và thực hiện các câu truy vấn.
Ngoài ra, trong PHP 5.1, các nhà phát triển PHP tiếp tục có những cải tiến trong nhân
Zend Engine 2, nâng cấp mô đun PCRE lên bản PCRE 5.0 cùng những tính năng và cải
tiến mới trong SOAP, streams và SP

nhập sâu được vào thị trường này. Chính vì thế, Zend đã tiến hành nhiều biện pháp
nhằm chuẩn hóa PHP, tạo được sự tin cậy hơn cho giới người dùng cao cấp.
Zend Platform là một bộ sản phẩm giúp quản lý hệ thống ứng dụng PHP, nâng
cao hiệu suất, tăng tốc độ của ứng dụng PHP.
16


Zend Framework là một tập hợp các lớp, các thư viện lập trình viết bằng PHP
(PHP 5) nhằm cung cấp một giao diện lập trình chuẩn cho các nhà phát triển ứng dụng.
Ngoài ra, một số framework khác cũng đã được phát triển nhằm hỗ trợ lập trình
PHP ở cấp doanh nghiệp, trong đó đáng chú ý có thể kể đến là CodeIgniter, CakePHP,
Symfony, Seagull...
PHP chỉ phân tích các đoạn mã nằm trong những dấu giới hạn của nó. Bất cứ
mã nào nằm ngoài những dấu giới hạn đều được xuất ra trực tiếp không thông qua xử
lý bởi PHP. Các dấu giới hạn thường dùng nhất là <?php và ?>, tương ứng với dấu
giới hạn mở và đóng. Các dấu giới hạn <script language="php"> và
</script> cũng đôi khi được sử dụng. Cách viết dấu giới hạn dạng thẻ ngắn cũng
có thể được dùng để thông báo bắt đầu đoạn mã PHP, là dụng để in ra (echo) các xâu ký tự hay biến) với thẻ thông báo kết thúc đoạn mã PHP là
?>. Những thẻ này thường xuyên được sử dụng, tuy nhiên giống với những thẻ kiểu
ASP (<% hay <%= và %>), chúng không có tính di động cao bởi có thể bị vô hiệu khi
cấu hình PHP. Bởi vậy, việc dùng các thẻ dạng ngăn hay các thẻ kiểu ASP không được
khuyến khích.[3] Mục đích của những dấu giới hạn này là ngăn cách mã PHP với những
đoạn mã thuộc ngôn ngữ khác, gồm cả HTML. Mọi đoạn mã bên ngoài các dấu này
đều bị hệ thống phân tích bỏ qua và được xuất ra một cách trực tiếp.[4]
Các biến được xác định bằng cách thêm vào trước một dấu đô la ($) và không
cần xác định trước kiểu dữ liệu. Không giống với tên hàm và lớp, tên biến là trường
hợp nhạy cảm. Cả dấu ngoặc kép ("") và ký hiệu đánh dấu văn bản (<<đều có thể dùng để truyền xâu và giá trị biến. [5] PHP coi xuống dòng như một khoảng
trắng theo kiểu như một ngôn ngữ dạng tự do (free-form language) (trừ khi nó nằm

trong trích dẫn xâu), và các phát biểu được kết thúc bởi một dấu chấm phẩy. [6] PHP có
ba kiểu cú pháp chú thích: /* */ cho phép một đoạn chú thích tùy ý, trong khi đó //
và # cho phép chú thích trong phạm vi một dòng. [7] Phát biểu echo là một trong những
lệnh của PHP cho phép xuất văn bản (vd. ra một trình duyệt web).
Về cú pháp các từ khóa và ngôn ngữ, PHP tương tự hầu hết các ngôn ngữ lập
trình bậc cao có cú pháp kiểu C. Các phát biểu điều kiện If (Nếu), vòng lặp for và
while, các hàm trả về đều tương tự cú pháp của các ngôn ngữ như C, C++, Java và
Perl.
1.2.2. Giới thiệu về hệ quản trị cơ sở dữ liệu MySQL
1.2.2.1 MySQL là gì ?
MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến nhất thế giới và
được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng. Vì MySQL
là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên
17


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ể 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, Unix, FreeBSD, NetBSD, Novell
NetWare, SGI Irix, Solaris, SunOS,. ..
MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu quan
hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL).
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.2.3. PHP và MySQL
Để connect tới 1 CSDL trên MySQL server rất đơn giản. Bạn chỉ cần dùng hàm
mysql_connect(host, user, password) để mở 1 kết nối tới MYSQL
server với kết quả là giá trị trả về của hàm (Giả sử là biến $db). Sau đó, dùng hàm

mysql_select_db(database_name, link_id) để chọn CSDL bạn muốn kết nối. Để thực
hiện một câu lệnh truy vấn, dùng hàm mysql_query(query, link_ID). Giá trị trả lại của
hàm là kết quả của câu truy vấn. Nếu bỏ qua link_ID thì kết nối cuối cùng tới MySQL
server sẽ được thực hiện.
Bạn có thể xem ví dụ sau sẽ hiểu rõ hơn.
<html>
<body>
$db = mysql_connect("localhost", "root");
mysql_select_db("mydb",$db);
$result = mysql_query("SELECT * FROM employees",$db);
printf("First Name: %s
\n", mysql_result($result,0,"first"));
printf("Last Name: %s
\n", mysql_result($result,0,"last"));
printf("Address: %s
\n", mysql_result($result,0,"address"));
18


printf("Position: %s
\n", mysql_result($result,0,"position"));
?>
</body>
</html>
1.2.4. Cài đặt Web Sever Xampp
1.2.4.1. Web Sever là gì?
Web Server là máy tính mà trên đó cài đặt phần mềm phục vụ web, đôi khi
người ta cũng gọi chính phần mềm đó là Web Server.
Tất cả các web Server đều hiểu mà chạy được các file *.htm và *html, tuy nhiên

mỗi WebServer lại phục vụ một kiểu file chuyên biệt chẳng hạn như: IIS của Microsoft
dành cho *.asp, *.aspx; Apache dành cho *.php; Sun Java System Web Server của Sun
dành cho *.jsp.
Tùy thuộc vào ngôn ngữ lập trình web mà chúng ta chọn web Server sao cho
phù hợp. Để cài đặt Web Server chạy PHP thì chúng ta nên dùng Apache. Một Web
Servercó thể chạy được các ứng dụng của PHP thì phải tồn tại những thành phần cơ
bản sau: Apache-PHP-MySQL. Hiện nay, có rất nhiều gói webServer đáp ứng đầy đủ
các thành phần trên như: AppServ, Wampp, Xampp…
Cụ thể trong đề tài này, chúng tôi chọn gói Xampp, vì những lý do sau:
- Ngoài việc hỗ trợ các thành phần căn bản như Apache-PHP-MySQLphpMyAdmin, XAMPP còn hỗ trợ các thành phần khác mà một số web server không
có như Webmail-FTP-SSL-Perl.
- Sử dụng rất dễ dàng.
- Hỗ trợ đầy đủ các thư viện mở rộng của PHP, đồng thời tích hợp thư viện
PEAR.
1.2.4.2. Cài đặt Xampp
Việc cài đặt Xampp được thực hiện qua các bước chính sau đây:
19


• Download gói Xampp phù hợp với bản win mà chúng ta đang sử dụng, trong
bài chúng tôi sử dụng gói Xampp win32bit-version 1.6.8 (Hiện nay Xampp có rất
nhiều phiên bản khác nhau).
• Chạy file Setup.
• Chọn ổ đĩa mà chúng ta sử dụng, và các thành phần sử dụng gồm: Apache,
MySQL.
• Chờ Xampp check ổ đĩa, và chúng ta chỉ nhấn Next cho tới khi quá trình hoàn
thành được hoàn tất.
Sau khi cài đặt xong, chúng ta mở biểu tượng Xampp Control Panel
Application, nếu thấy cả 2 thành phần Apache, và MySQL ở trong trạng thái Running,
điều đó có nghĩa là chúng ta đã cài đặt thành công.


PHẦN 2: KẾT QUẢ ĐẠT ĐƯỢC
**************

1.1.

Phân tích thiết kế hệ thống

1.1.1. Phân tích các chức năng của hệ thống
Hệ thống có chức năng chính là Quản trị hệ thống
Đối với người quản trị hệ thống: Khi có tài khoản trong hệ thống, người quản trị
sẽ đăng nhập vào trang quản trị và thực hiện các chức năng chính sau:
Tạo lập các Menu cho website, quản lý các menu.
Quản lý các Module, thêm, sửa, xóa các module.
Quản lý các bài viết: Thêm, cập nhật, sửa xóa bài viết trong hệ thống.
Quản lý các tác giả: Cập nhật thông tin của các tác giả tham gia viết bài
cho Website.
Quản lý Thể loại bài viết: Thêm, cập nhật, sửa xóa thể loại bài viết trong
hệ thống.
Quản lý Đăng tải bài viết: Các bài viết sau khi được thêm sẽ được duyệt
và chọn vị trí đăng tải thích hợp
1.1.2. Biểu đồ phân cấp chức năng
Từ phân tích trên, ta có biểu đồ phân cấp chức năng như sau
QUẢN LÝ HỆ THỐNG
WEBSITE CỔNG THÔNG TIN
DU LỊCH ĐÀ NẴNG
20


QUẢN LÝ

MENU

QUẢN LÝ
MODULE

QUẢN LÝ
BÀI VIẾT

QUẢN LÝ
THỂ LOẠI
BÀI VIẾT

QUẢN LÝ
TÁC GIẢ

QUẢN LÝ
ĐĂNG TẢI
BÀI VIẾT

Hình 1: Biểu đồ phân cấp chức năng
1.1.3. Biểu đồ luồng dữ liệu
1. Biểu đồ luồng dữ liệu mức khung cảnh
Biểu đồ dữ liệu mức khung cảnh coi cả hệ thống là một chức năng chính, trong
biểu đồ này, các tác nhân cùng với các luồng dữ liệu vào ra với tác nhân được xác
định.

21


Hình 2: Biểu đồ luồng dữ liệu mức khung cảnh


Khách
Y/c
Xem
Ban

Bài
viết

Kq tìm
kiếm,

Người quản trị
hệ thống

Y/c tìm
kiếmBiểu đồ luồng dữ liệu mức đỉnh
1.1.4.

Quản lý
Khách

TT
giao
dịch
cáur

Bài
viết


TT
tài
khoản

Quản trị hệ
thống
Kho TT Hệ thống

TT
Đăn
g tải

22


Hình 3 – Biểu đồ luồng dữ liệu mức đỉnh

Người quản trị
hệ thống
TT
men
u

TT người
dùng

Quản lý
Khách

TT

Modul
e

TT Khách

1.1.5. Biểu đồ luồng dữQuản
liệu mức
lý dưới đỉnh
Menu

TT
bài
viết

Quản lý
Module

Tài nguyên hệ thống

Quản lý đặt
Tour

Quản lý bài
viết

23
TT Tour, giá Tour


Hình 4 – Biểu đồ Phân rã chức năng Quản trị hệ thống


1.2.

Thiết kế hệ thống

1.2.1. Thiết kế dữ liệu cho hệ thống
1.2.1.1 Bảng dữ liệu Quản lý người quản trị hệ thống

COLUNM

TYPE

NULL

DEFAULT

Id

Int(11)

No

None

Username

Varchar(100)

No


None
24


Password

Varchar(100)

No

None

Bảng 1: Bảng dữ liệu Quản lý người QTHT

1.2.1.2. Bảng dữ liệu Quản lý bài viết

COLUNM

TYPE

NULL

DEFAULT

Id

Int(11)

No


None

Title

Varchar(2000)

No

None

Content

Varchar(4000)

No

None

Idauthor

Varchar(200)

No

None

Datetime

Date


No

None

Idcategory

Int(11)

No

None

Public

Tinyint(1)

No

None

Image

Varchar(1000)

No

None

Substract


Varchar(1000)

No

None

Locatinon

Int(11)

No

None

Bảng 2: Bảng dữ liệu Quản lý bài viết
1.2.1.3. Bảng dữ liệu Quản lý Đăng tải bài viết

COLUNM

TYPE

NULL

DEFAULT

Id

Int(11)

No


None
25


×