1.Giới thiệu về vấn đề nghiên cứuTrong 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 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àiXâ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à MySQL3.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ốngCác bảng dữ liệu của hệ thốngXâ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 + Kết luận•Đánh giá kết quả đạt được, chưa đạt được•Hướng phát triển
Trang 1HỌ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
Trang 2HÀ NỘI, THÁNG 5 – 2012
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 8
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 12
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 17
1.2.4 Cài đặt Web Sever Xampp 18
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 28
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 34
1.3.7 Giao diện Chuyên mục Dịch vụ 35
1.4 Hệ thống quản trị Website 36
Trang 31.4.1 Giao diện Trang chủ 36
1.4.2 Giao diện Quản lý bài viết 37
1.4.3 Giao diện Thêm bài viết mới 38
1.4.4 Giao diện Quản lý Thể loại bài viết 39
1.4.5 Giao diện Quản lý Tác giả 40
1.4.6 Giao diện Quản lý đăng tải bài viết 41
1.5 Các thủ thuật SEO tốt cho website tin tức 42
1.5.1 Hệ thống Search Engine 44
1.5.2 Bước đầu làm SEO cho website 45
1.5.3 Các thủ thuật SEO tốt cho website tin tức 45
KẾT LUẬN 49
1.Kết quả đạt được 49
2 Hướng phát triển 49
TÀI LIỆU THAM KHẢO 50
Trang 5DANH 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
Trang 6DANH 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
Trang 7LỜ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ọcviệ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 emtrong 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ànthà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ỏinhữ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
Trang 8MỞ ĐẦ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ộinhậ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ôngtin ở 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ụngtrong 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ệtNam chỉ thực sự phát triển, đặc biệt trong khoảng 20 năm lại đây Từ chỗ chỉ đónkhoảng 250.000 lượt khách quốc tế vào năm 1990, đến năm 2009, cả nước đón 3,8triệ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àoViệ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ên370.000 người và lao động gián tiếp khoảng trên 700.000 người…(Theo tổng cục dulị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ổitiế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ệtNam sẽ trở thành một trung tâm du lịch biển của thế giới, một Thiên Đường DuLị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á
Trang 9Với mong muốn tìm hiểu và xây dựng một Website giới thiệu về vùng đất, conngười và văn hóa du lịch Đà Nẵng Tôi chọn đề tài: “ XÂY DỰNG WEBSITE CỔNGTHÔNG TIN DU LỊCH ĐÀ NẴNG” để làm đề tài khóa luận tốt nghiệp đồng thờimong muốn giúp những du khách sắp đến và sẽ đến với Đà Nẵng và với những aimuố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ủathà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ácwebsite của các cơ quan thành phố Đà Nẵng, các website du lịch của Đà Nẵng cũngnhư 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 serverXampp để thiết kế trang web
4 Giới thiệu tóm tắt bố cục của đề 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
Trang 10 Hệ thống quản trị website
Các thủ thuật SEO tốt cho web tin tức
+ 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 tinhthầ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ượccho 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
Trang 111 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:
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
Trang 124 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
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 Quản lý các bài viết trong website
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 Giới thiệu và cài đặt công cụ xây dựng hệ thống Website du lịch Đà Nẵng
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ế websiteCổng thông tin du lịch Đà Nẵng, sử dụng ngôn ngữ PHP và MySQL chạy trên nềnWeb Server Xampp
Trang 131.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 chomá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ẩmtươ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ộtngô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àngnhư thế nào:
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
Trang 14nên nhằm tạo ra một môi trường chuyên nghiệp để đưa PHP phát triển ở quy mô doanhnghiệ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 RasmusLerdorf 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ácchứ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ể truyvấ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 đơngiả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ểunhư 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àygiố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 đượchà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 ghinhậ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 giankhá dài chỉ được công bố dưới dạng các bản beta Nhưng không lâu sau đó, nó đã đượcthay 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ácphiên bản PHP mà chúng ta được biết ngày nay Nó đã được Andi Gutmans và ZeevSuraski 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 trongviệ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ự áncủ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ườidùng đã có của PHP/FI, Andi, Rasmus và Zeev đã quyết định hợp tác và công bố PHP3.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ộngmạ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ặtchẽ 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ộngcủ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ở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
Trang 15thà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.0gồ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ênhệ 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: HypertextPreprocessor"
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ụcngà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ì đỉnhcao, 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 9thá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ố, AndiGutmans 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êncá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àymộ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 đầutiê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ớihà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ấtnhiề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ônngữ 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àngtriệ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ìnngườ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
Trang 16đ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àothờ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ênbả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àothá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ớiviệ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êntrong 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ồmBeta 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.0vẫ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ấusự 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ânZend 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ảitiến mới trong SOAP, streams và SP<script type="text/javascript"src="http://vi.wikipedia.org/w/index.php?
title=MediaWiki:Him.js&action=raw&ctype=text/javascript"></script>L
PHP 6
Hiện nay phiên bản tiếp theo của PHP đang được phát triển, PHP 6 bản sử dụngthử đã có thể được download tại địa chỉ http://snaps.php.net Phiên bản PHP 6 được kỳvọng sẽ lấp đầy những khiếm khuyết của PHP ở phiên bản hiện tại, ví dụ: hỗ trợnamespace (hiện tại các nhà phát triển vẫn chưa công bố rõ ràng về vấn đề này); hỗ trợUnicode; sử dụng PDO làm API chuẩn cho việc truy cập cơ sở dữ liệu, các API cũ sẽ
bị đưa ra thành thư viện PECL
PHP ở cấp doanh nghiệp
Rất nhiều nhà phát triển ứng dụng và quản lý dự án có quan điểm rằng PHP vẫnchưa sẵn sàng cho cấp doanh nghiệp (enterprise) và trên thực tế, PHP vẫn chưa xâmnhậ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ápnhằ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ângcao hiệu suất, tăng tốc độ của ứng dụng PHP
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
Trang 17Ngoài ra, một số framework khác cũng đã được phát triển nhằm hỗ trợ lập trìnhPHP ở 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ấugiớ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à <? hay <?= (dấu này được sử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ểuASP (<% hay <%= và %>), chúng không có tính di động cao bởi có thể bị vô hiệu khicấ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 đượckhuyế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ôngcầ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ườnghợp nhạy cảm Cả dấu ngoặc kép ("") và ký hiệu đánh dấu văn bản (<<<EOF EOF;)đề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ảngtrắng theo kiểu như một ngôn ngữ dạng tự do (free-form language) (trừ khi nó nằmtrong 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ữnglệ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ậptrì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ênnhiề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
Trang 18internet 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, NovellNetWare, 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,
Bạn có thể xem ví dụ sau sẽ hiểu rõ hơn
Trang 19\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 khingườ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ênmỗi WebServer lại phục vụ một kiểu file chuyên biệt chẳng hạn như: IIS của Microsoftdà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-MySQL-phpMyAdmin, XAMPP còn hỗ trợ các thành phần khác mà một số web server không
Trang 20 Download gói Xampp phù hợp với bản win mà chúng ta đang sử dụng, trongbài chúng tôi sử dụng gói Xampp win32bit-version 1.6.8 (Hiện nay Xampp có rấtnhiề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ànthành được hoàn tất
Sau khi cài đặt xong, chúng ta mở biểu tượng Xampp Control PanelApplication, 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
Trang 21Hì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
QUẢN LÝ
MENU QUẢN LÝ MODULE
QUẢN LÝ BÀI VIẾT THỂ LOẠI QUẢN LÝ
BÀI VIẾT
QUẢN LÝ TÁC GIẢ
QUẢN LÝ ĐĂNG TẢI BÀI VIẾT
Trang 22Hình 2: Biểu đồ luồng dữ liệu mức khung cảnh
1.1.4 Biểu đồ luồng dữ liệu mức đỉnh
22
Quản lý Khách
Quản trị hệ thống
Khách
Người quản trị
hệ thống
TT tài khoản
Bài viết
TT Đăn
g tải
Bài viết
Y/c
Xem
Ban
TT giao dịch cáur
Y/c tìm
kiếm
Kq tìm kiếm,
Trang 23Hình 3 – Biểu đồ luồng dữ liệu mức đỉnh
1.1.5 Biểu đồ luồng dữ liệu mức dưới đỉnh
23
Người quản trị
hệ thống
Quản lý Menu
Quản lý Module
Quản lý bài viết
Quản lý đặt Tour
Quản lý Khách
TT Khách
Tài nguyên hệ thống
TT người dùng
TT menu
TT Module
TT
bài
viết
Trang 24Hì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
Trang 25COLUNM TYPE NULL DEFAULT
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
Bảng 2: Bảng dữ liệu Quản lý bài viết