UBND TỈNH QUẢNG NAM TRƯỜNG ĐẠI HỌC QUẢNG NAM KHOA TOÁN - TIN ----- ----- SOUKKASANH HEUANGVILAY THIẾT KẾ VÀ XÂY DỰNG WEBSITE KHÁM PHÁ ĐỊA DANH NỔI TIẾNG Ở TỈNH SEKONG KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC Quảng Nam, tháng 05 năm 2022 UBND TỈNH QUẢNG NAM TRƯỜNG ĐẠI HỌC QUẢNG NAM KHOA: TOÁN - TIN ----- ----- KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC Tên đề tài: THIẾT KẾ VÀ XÂY DỰNG WEBSITE KHÁM PHÁ ĐỊA DANH NỔI TIẾNG Ở TỈNH SEKONG Sinh viên thực hiện SOUKKASANH HEUANGVILAY MSSV: 211 8 1001 09 CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN KHÓA 2018 – 2022 Cán bộ hướng dẫn ThS LÊ THỊ NGUYÊN AN MSCB: ……… Quảng Nam, tháng 5 năm 2022 LỜI CẢM ƠN Em xin chân thành cảm ơn giáo viên hướng dẫn là cô Lê Thị Nguyên An, giảng viên Trường Đại Học Quang Nam Khoa Toán - Tin, đã hướng dẫn tận tình, giúp em tìm ra hướng đi đúng của đề tài, tạo điều kiện thuận lợi cho em về thời gian và vấn đề tìm tài liệu có li ên quan để giúp em hoàn thành đề tài nhanh nhất và tốt nhất Em là Soukkasanh Heuangvilay học sinh đến từ một đất nước xa xôi, dĩ nhiên là không tránh khỏi những khó khăn nhất định, đặc biệt về mặt ngôn ngữ dẫn đến khả năng lĩnh hội bài giảng của thầy cô cũng gặp nhiều vấn đề Tuy nhiên, em rất vui mừng tự hào khi được sống và học tập dưới mái Trường Đại Học Quang Nam Khoa Toán - Tin, một môi trường đào tạo về ngành IT chuyên nghiệp và đặc biệt, dưới sự bảo bọc dạy dỗ tận tình của nhà trường, của các quý th ầy cô, đến nay em đã tích lũy cho mình những vốn kiến thức vô cùng quý giá, làm hành trang cho cuộc sống sau này của em Trước tiên, em xin phép gửi lời mời cảm ơn sâu sắc tới cô Lê Thị Nguyên An đã nhiệt tình giúp đỡ và hướng dẫn em trong quá trình thực hiện khóa luận này “Việt – Lào hai nước chúng ta Tình sâu hơn nước Hồng Hà, Cửu Long” Sinh viên thực hiện : Soukkasanh Heuangvilay MỤC LỤC PHẦN 1: MỞ ĐẦU 1 1 Lý do chọn đề tài 1 2 Mục tiêu của đề tài 1 3 Đối tượng và phạm vi nghiên cứu 1 4 Phương pháp nghiên cứu 1 5 Lịch sử nghiên cứu 1 6 Đóng góp của đề tài 2 7 Cấu trúc đề tài 2 PHẦN 2: NỘI DUNG NGHIÊN CỨU 3 CHƯƠNG 1 : CƠ SỞ LÝ THUYẾT VÀ MỘT SỐ CÔNG CỤ HỔ TRỢ 3 1 1 Giới thiệu các ngôn ngữ lập trình 3 1 1 1 Giới thiệu ngôn ngữ HTML 3 1 1 1 1 Vai trò của HTML trong lập trình Web 3 1 1 1 2 Các thẻ trong HTML 4 1 1 2 Giới thiệu ngôn ngữ CSS 5 1 1 2 1 Định nghĩa CSS 5 1 1 2 2 Cú pháp CSS 7 1 1 3 G iới thiệu về Ngôn ngữ PHP 7 1 1 3 1 Khái niệm 7 1 1 3 2 Cú pháp của PHP 8 1 1 4 Giới thiệu Javascript 11 1 1 4 1 Cách nhúng Javascript vào trong tập tin HTML 12 1 1 4 2 Biến trong JavaScript 14 1 1 4 3 Các câu lệnh trong javaScript 14 1 2 Tổng quan MySQL 15 1 2 1 Giới thiệu MySQL 15 1 2 2 Ưu điểm của MySQL 15 1 2 3 Tại sao sử dụng MySQL Server 17 1 3 Tổng qua về Xampp 19 1 3 1 Cài đặt xampp 19 1 4 Notepad++ 22 1 4 1 Giới th iệu về Notpad++ 22 1 4 2 Ưu điểm của Notepad++ 23 1 4 3 Cài đặt 23 CHƯƠNG 2 : PHÂ N TÍCH VÀ THUYẾT KẾ HỆ THỐNG 27 2 1 Phân tích chức năng của hệ thống 27 2 2 Phân tích dữ liệu hệ thống 28 2 2 1 User(người dung) 28 2 2 2 Admin (người quản lý) 29 2 2 3 Cơ sở dữ liệu(MySQL) 33 CHƯƠNG 3 : KẾT QUẢ THỰC NGHIỆM 36 3 1 Phần khách hàng 36 3 3 1 User(Người d ù ng) 36 3 2 Phần Quản lý 39 3 2 1 Admin 39 PHẦN 3 : KẾT LUẬN 44 PHẦN 4 : TÀI LIỆU THAM KHẢO 45 1 PHẦN 1: MỞ ĐẦU 1 Lý do chọn đề tài Tỉnh SeKong là một trong bốn tỉnh miền Nam của đất nước Lào, là điểm nối của đường giao thông Nam - Bắc, có đường 1H từ đường số 20 (Làng Bản Bèng) tỉnh SaLaVan, đường 16B (SeKong - Dak Cheung ) biên giới Lào - Việt Nam cửa khẩu Đak Pa huyện Dak Cheung giáp cửa khẩu Bờ Y tỉnh Kon Tum, cửa khẩu Đak Ta Oc huyện Dak Cheung giáp cửa khẩu Đak Ộc huyện Nam Giang tỉnh Quảng Nam SeKong là một tỉnh nằm trong xu thế chung phát triển du lịch của cả nước Tận dụng những lợi thế từ thiên nhiên, không ngừng đẩy mạnh khai thác phát tri ển du lịch Hoạt động của một công ty du lịch có quy mô khá lớn sẽ càng được tăng cường và mở rộng nếu xây dựng được một website có khả năng giới thiệu được công ty và cho phép quản lý các tour du lịch một cách nhanh chóng và chính xác nhất Bắt nguồn với ý tưởng này, Vậy em đã chọn đề tài “THIẾT KẾ VÀ XÂY DỰNG WEBSITE KHÁM PHÁ ĐỊA DANH NỔI TIẾNG Ở TỈNH SEKONG”, cho đề tài khóa luận tốt nghiệp của mình 2 Mục tiêu của đề tài - Về kiến thức: sẽ hệ thống được toàn bộ kiến thức đã học trong chương trình đào tạo về thiết kế xây dựng một Website thương mại Tập trung nghiên cứu một số công nghệ mới trong thiết kế Web - Về kỹ năng: nâng cao kỹ năng phân tích và xây dựng một Website - Về kinh tế - xã hội: đề tài sẽ giải quyết bài toán phát triển du lịch tại địa phươ ng thông qua phương tiện công nghệ thông tin, góp phần tăng trưởng kinh tế tỉnh nhà, quảng bá thắng cảnh và nét đẹp văn hóa Lào ra thế giới 3 Đối tượng và phạm vi nghiên cứu - Nghiên cứu các kiến thức về thiết kế giao diện và xây dựng cơ sở dữ liệu Web - Nghiên cứu ngôn ngữ PHP và cơ sở dữ liệu MySQL - Thông tin địa lý du lịch tỉnh SeKong 4 Phương pháp nghiên cứu - Sử dụng phương pháp tìm kiếm thông tin trên Internet; - Phân tích và tổng hợp số liệu và hình ảnh 5 Lịch sử nghiên cứu - Hiện có rất nhiều tran g Web với mục đích quảng bá và phát triển du lịch, đó là những nơi cần tham khảo và học hỏi Ở đây, đề tài tập trung vào tỉnh SeKong, nơi có 2 nhiều danh lam, thắng cảnh và hoạt động văn hóa đẹp mang tính truyền thống của Lào nhưng chưa được khai thác phục v ụ du lịch 6 Đóng góp của đề tài Đề tài thành công sẽ mang lại công cụ hiệu quả cho khai thác, phát triển du lịch của tỉnh nhà, góp phần phát triển kinh tế địa phương và quảng bá các giá trị văn hóa Lào Bên cạnh đó, kết quả của đề tài có thể làm tài liệu tham khảo hữu ích cho sinh viên khoa Công nghệ thông tin và những ai muốn nghiên cứu về ứng dụng thông tin website này để tìm hiểu nhiểu hơn về thông tin địa lý du lịch tỉnh Sekong 7 Cấu trúc đề tài Đề tài gồm 3 chương: Chương 1: CƠ SỞ LÝ THUYẾT - Cung cấp kiến thức nền tảng về thiết kế và xây dựng Website Chương 2: PHÂN TÍCH VÀ THUYẾT KẾ HỆ THỐNG - Phân tích chức năng của hệ thống - Phân tích dữ liệu hệ thống Chương 3: DEMO CHƯƠNG TRÌNH - Giới thiệu một số kết quả đạt được, những chức năng chính của hệ thốn g 3 PHẦN 2: NỘI DUNG NGHIÊN CỨU CHƯƠNG 1 : CƠ SỞ LÝ THUYẾT VÀ MỘT SỐ CÔNG CỤ HỔ TRỢ 1 1 Giới thiệu các ngôn ngữ lập trình 1 1 1 Giới thiệu ngôn ngữ HTML Ngôn ngữ HTML (HyperText Markup Language - ngôn ngữ đánh dấu siêu văn bản) là một trong các loại ngôn ngữ được sử dụng trong lập trình web Khi truy cập một trang web cụ thể là click vào các đường link, bạn sẽ được dẫn tới nhiều trang các nhau, và các tran g này được gọi là một tài liệu HTML (tập tin HTML) Một trang HTML như vậy được cấu thành bởi nhiều phần tử HTML nhỏ và được quy định bằng các thẻ tag Bạn có thể phân biệt một trang web được viết bằng ngôn ngữ HTML hay PHP thông qua đường link của nó Ở cuối các trang HTML thường hay có đuôi là HTML hoặc HTML HTML là ngôn ngữ lập trình web được đánh giá là đơn giản Mọi trang web, mọi trình duyệt web đều có thể hiển thị tốt ngôn ngữ HTML Hiện nay, phiên bản mới nhất của HTML là HTML 5 với nhiều tính năng tốt và chất lượng hơn so với các phiên bản HTML cũ 1 1 1 1 Vai trò của HTML trong l ập trình Web Vậy, đối với các website, ngôn ngữ HTML đóng vai trò như thế nào? HTML theo đúng nghĩa của nó là một loại ngôn ngữ đánh dấu siêu văn bản, thế nên các chức năng của nó cũng xoay quanh yếu tố này Cụ thể, HTML giúp cấu thành các cấu trúc cơ bản trên một website (chi a khung sườn, bố cục các thành phần trang web) và góp phần hỗ trợ khai báo các tập tin kĩ thuật số như video, nhạc, hình ảnh Hình 1 1 : Vai trò của HTML trong tập trình Web 4 Ưu điểm nổi trội nhất và cũng là thế mạnh của HTML là khả năng xây dựng cấu trúc và khiến trang web đi vào quy củ một cách hệ thống và hoàn chỉnh Nếu bạn mong muốn sở hữu một website có cấu trúc tốt có mục đích sử dụng nhiều loại yếu tố trong văn bản, hãy hỏi HTML Nhiều ý kiến cho rằng tùy theo mục đích sử dụng mà lập trình viên hay người dùng có thể lựa chọn ngôn ngữ lập trình riêng cho website của bạn, tuy nhiên thực chất HTML chứa những yếu tố cần thiết mà dù website của bạn có thuộc thể loại nào, giao tiếp với ngôn ngữ lập trình nào để xử lý dữ liệu thì nó vẫn phải cần đến ngôn ngữ HTML để hiển thị nội dung cho người truy cập Nói đúng hơn, dù website của bạn được xây dựng như thế nào, trên nên tảng nào thì nó cũng cần đến s ự hỗ trợ của HTML, dù ít dù nhiều Đối với các lập trình viên hay nhà phát triển web, họ đều phải học HTML như một loại ngôn ngữ cơ bản trước khi bắt tay vào thiết kế trang web 1 1 1 2 Các thẻ trong HTML Như đã đề cập ở trên, các trang HTML được quy định bằng các thẻ tag Những thẻ này được chứa trong các dấu ngoặc đơn dạng: Trừ một vài thẻ đặc biệt, hầu hết các thẻ cơ bản đều có các thẻ đóng tương ứng với nó Ví dụ, thẻ có thẻ đóng tương ứng là , thẻ có thẻ đóng tương ứng là … Dưới đây là các mẫu thẻ tag bạn thường gặp trong HTML Tag Giải thích Còn gọi là thẻ khai báo một tài liệu HTML Thẻ này xác định loại tài liệu và phiên bản HTML Thẻ này chứa đựng các tài liệu HTML đầy đủ Ở đầu trang sẽ xuất hiện các thẻ , và thân tài liệu là các thẻ , Thẻ này đại diện cho đầu trang tài liệu mà có thể giữ các thẻ HTML như , … Thẻ được sử dụng trong thẻ chỉ tiêu đề tài liệu Thẻ này đại diện cho thân tài liệu và giữ các thẻ như , 5 ,
… Thẻ tag này đại diện cho các tiêu đề trang
Thẻ tag này đại diện cho định dạng các đoạn văn trong trang web 1 1 2 Giới thiệu ngôn ngữ CSS 1 1 2 1 Định nghĩa CSS CSS là viết tắt của Cascading Style Sheets Đây là một ngôn style sheet được sử dụng để mô tả giao diện và định dạng của một tài liệu viết bằng ngôn ngữ đánh dấu (markup) Nó cung cấp một tính năng bổ sung cho HTML Nó thường được sử dụng với HTML để thay đổi phong cách của trang web và giao diện người dùng Nó cũng có thể được sử dụng với bất kỳ loại tài liệu XML nào bao gồm cả XML đơn giản, SVG và XUL CSS được sử dụng cùng với HTML và JavaScript trong hầu hết các trang web để tạo giao diện người dùng cho các ứng dụng web và giao diện người dùng cho nhiều ứng dụng di động CSS làm được những gì? Bạn có thể thêm giao diện mới vào các tài liệu HTML cũ Bạn hoàn toàn có thể thay đổi giao diện trang web của mình chỉ với một vài thay đổi trong mã CSS Tại sa o sử dụng CSS Đây là ba lợi ích chính của CSS: 1) Giải quyết một vấn đề lớn Trước khi có CSS, các thẻ như phông chữ, màu sắc, kiểu nền, các sắp xếp phần tử, đường viền và kích thước phải được lặp lại trên mọi trang web Đây là một quá trình rất dài tốn thờ i gian và công sức 2) Tiết kiệm rất nhiều thời gian Định nghĩa kiểu CSS được lưu trong các tệp CSS bên ngoài vì vậy có thể thay đổi toàn bộ trang web bằng cách thay đổi chỉ một tệp 6 3) Cung cấp thêm các thuộc tính CSS cung cấp các thuộc tính chi tiết h ơn HTML để định nghĩa giao diện của trang web Các điểm chính của CSS được đưa ra dưới đây: CSS là viết tắt của Cascading Style Sheet CSS được sử dụng để thiết kế các thẻ HTML CSS là một ngôn ngữ được sử dụng rộng rãi trên web HTML, CSS và JavaScript được sử dụng để thiết kế web Nó giúp các nhà thiết kế web áp dụng phong cách trên các thẻ HTML Ví dụ về CSS h1 { color:white; background - color:#00eeee; padding:5px; } p { color:blue; } Write Your First CSS Example
This is Paragraph
7 1 1 2 2 Cú pháp CSS Bộ quy tắc CSS chứa selector và khối khai báo Selector: Bộ chọn cho biết phần tử HTML bạn muốn tạo kiểu cách Nó có thể là bất kỳ thẻ nào như , ,… Declaration Block: Khối khai báo có thể chứa một hoặc nhiều khai báo được phân cách bởi dấu chấm phẩy (;) Đối với ví dụ trên, có hai khai báo: 1 color: yellow; 2 font - size: 11 px; Mỗi khai báo chứa một tên thuộc tính và giá trị, được phân cách bởi dấu hai chấm Property: Một property là một kiểu của thuộc tính của phần tử HTML Nó có thể là color, border… Value : Các giá trị được gán cho thuộc tính CSS Trong ví dụ trên, giá trị “yellow” được gán cho thuộc tính color Selector{Property1: value1; Property2: value2; 1 1 3 Giới thiệu về Ngôn ngữ PHP 1 1 3 1 Khái niệm 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 8 Như đã giới thiệu, PHP là ngôn ngữ máy chủ, mã lệnh PHP sẽ tập trung trên máy chủ để phục vụ các trang Web theo yêu cầu của người dùng thông qua trình duyệt Khi người dùng truy cập website viết bằng PHP, máy chủ đọc mã lệnh PHP và x ử lý chúng theo các hướng dẫn đã được mã hóa Khác với Website HTML tĩnh ở chỗ: khi có một yêu cầu, máy chủ chỉ đơn thuần gửi dữ liệu HTML đến trình duyệt Web và không xảy ra một sự biến dịch nào từ phía máy chủ Đối với người dùng cuối và trên trình duyệ t web, các trang home html và home php trong tương tự như nhau, nhưng thực chất nội dung của trang được tạo theo các cách khác nhau - Ưu điểm khi dùng PHP + Dùng mã nguồn mở (có thể chạy trên Apache hoặc IIS) + Phổ biến hơn ASP (có thể thấy dựa vào s ố website dùng PHP) + Dễ học khi đã biết HTML, C + Dựa vào XAMP (dễ cấu hình) + Nhiều hệ thống CMS miễn phí dùng + Đi cặp với My SQL + Hoạt động trên Linux, có thể trên IIS - Windows - Nhược điểm : + Chỉ chạy trên ứng dụng web 1 1 3 2 Cú pháp của PHP a Nhúng mã PHP vào HTML Cách thông dụng sau để nhúng mã PHP Ví dụ: Các bạn có thể chèn mã này sen kẽ các tag của html hoặc có thể từ mã này echo (in) ra các html theo ý muốn Ví dụ: tôi có thể sử dụng 2 cách như sau hoặc VD01 Câu lệnh của php cũng giống như trong lập trình C kết thúc bởi dấu chấm phẩy ";" b Chú thích trong PHP PHP hỗ trợ các kiểu chú giải như của C, C++ Ví dụ: Về cơ bản ngôn ngữ lập trình php là ngôn ngữ dễ sử dụng, thông dụng hiện này Cú pháp PHP chính là cú pháp trong ngôn ngữ C, các bạn làm quen với ngôn ngữ C thì có lợi thế trong lập trình PHP Để lập trình bằng ngôn ngữ PHP cần chú ý những điểm sau: 1 Cuối câu lệnh có dấu; 2 Biến trong PHP có tiền tố là $ 10 3 Mỗi phương thức đều bắt đầu {và đóng bằng dấu} 4 Khi khai báo biến thì không có kiễu dữ liệu 5 Nên có giá trị khởi đầu cho bi ến khai báo 6 Phải có chi chú (Comment) cho mỗi feature mới 7 Sử dụng dấu // hoặc # để giải thích cho mỗi câu ghi chú 8 Sử dụng /* và */ cho mỗi đoạn ghi chú 9 Khai báo biến có phân biệt chữ hoa hay thường c Khai báo biến Khi thực hiện khai báo biến trong C, bạn cần phải biết tuân thủ quy định như: kiễu dữ liệu trước tên biến và có giá trị khởi đầu, tuy nhiên khi làm việc với PHP thì không cần khai báo kiểu dữ liệu nhưng sử dụng tiền tố $ trước biến Xuất phát từ những điều ở trên, khai báo biến trong PHP như sau: $tenbien [=giá trị]; $dem=0; //đếm $strSql = "Select * from sanpham where hienthi=1"; $mang = array("Họ", "Tên", "cơ quan"); $kiemtra = false; Code đầy đủ Tự học PHP Biến 1 1 4 Giới thiệu Javascript JavaScript, theo phiên bản hiện hành, là một ngôn ngữ lập trình thông dịch được phát triển từ các ý niệm nguyên mẫu Ngôn ngữ này được dùng rộng rãi cho các trang web (phía người dùng) cũng như phía máy chủ (với Node js) Nó vốn được phát triển bởi Brendan Eich tại Hãng truyền thông Netscape với cái tên đầu tiên Mocha, rồi sau đó đổi tên thành LiveScript, và cuối cùng thành JavaScript Giống Java, JavaScript có cú pháp tương tự C, nhưng nó gần với SELF hơn Java js là phần mở rộng thường được dùng cho tập tin mã nguồn JavaScript Cũng giống như C, JavaScript không có bộ xử lý xuất nhập (input/ output) riêng Trong khi C sử dụng thư viện xuất nhập chuẩn, JavaScript dựa vào phần mềm ngôn ngữ được gắn vào để thực hiện xuất nhập T rên trình duyệt, rất nhiều trang web sử dụng JavaScript để thiết kế trang web động và một số hiệu ứng hình ảnh thông qua DOM JavaScript được dùng để thực hiện một số tác vụ không thể thực hiện được với chỉ HTML như kiểm tra thông tin nhập vào, tự động tha y đổi hình ảnh Tuy nhiên, mỗi trình duyệt áp dụng JavaScript khác nhau và không tuân theo chuẩn W3C DOM, do đó trong rất nhiều trường hợp lập trình viên phải viết nhiều phiên bản của cùng một đoạn mã nguồn để có thể hoạt động trên nhiều trình duyệt Một số công nghệ nổi bật dùng JavaScript để tương tác với DOM bao gồm DHTML, Ajax và SPA Bên ngoài trình duyệt, JavaScript có thể được sử dụng trong tập tin PDF của Adobe Acrobat vả Adobe Reader Điều khiển Dashboard trên hệ điều hành MacOS X phiên bản 10 4 cũng có sử dụng JavaScript Từ khi Nodejs ra đời vào năm 2009, Javascript được biết đến nhiều hơn là một ngôn ngữ đa nền khi có thể chạy trên cả môi trường máy chủ cũng như môi trường nhúng Mỗi ứng dụng này đều cung cấp mô hình 12 đối tượng riêng cho phép tươ ng tác với môi trường chủ, với phần lõi là ngôn ngữ lập trình JavaScript gần giống nhau JavaScript có rất nhiều ưu điểm khiến nó vượt trội hơn so với các đối thủ, đặc biệt trong các trường hợp thực tế Sau đây chỉ là một số lợi ích của JavaScript: - Chún g ta không cần một compiler vì web browser có thể biên dịch nó bằng HTML: Nó dễ học hơn các ngôn ngữ lập trình khác; - Lỗi dễ phát hiện hơn và vì vậy dễ sửa hơn; Nó có thể được gắn trên một số element của trang web hoặc event của trang web như là thông qu a click chuột hoặc di chuột tới; JavaScript hoạt động trên nhiều trình duyệt, nền tảng; Chúng ta có thể sử dụng JavaScript để kiểm tra input và giảm thiểu việc kiểm tra thủ công khi truy xuất qua database: Nó giúp website tương tác tốt hơn với khách truy c ập: Nó nhanh hơn và nhẹ hơn các ngôn ngữ lập trình khác Mọi ngôn ngữ lập trình đều có các khuyết điểm Một phần là vì ngôn ngữ đó khi phát triển đến một mức độ như JavaScript, nó cũng sẽ thu hút lượng lớn hacker, scammer, và những người có ác tâm luôn tìm kiếm những lỗ hổng và các lỗi bảo mật để lợi dụng nó Một số khuyết điểm có thể kể đến là: Dễ bị khai thác; Có thể được dùng để thực thi mã độc trên máy tính của người dùng: - Đôi khi JavaScript không thể hỗ trợ trên mọi trình duyệt; - JavaScript snippets lớn; - Có thể bị triển khai khác nhau tùy từng thiết bị dẫn đến việc không đồng nhất 1 1 4 1 Cách nhúng Javascript vào trong tập tin HTML Bạn có thể nhúng JavaScript vào một file HTML theo một trong hai cách chủ yếu sau đây: Dùng cặp thẻ để nhúng JavaScript vào file HTML Dùng thẻ link để nhúng JavaScript vào file HTML (Viết file riêng có đuôi js) 13 Hình 1 2 Mô hình của Javascript Cách 1 : Dùng cặp thẻ Script để viết js trong cùng HTML Cặp thẻ Script ta có thể đặt ở trong cặp thẻ hoặc alert(“aaa”) Ở ví dụ trên là ta đang để Script ở trong thẻ head Trong một file HTML có thể viết nhiều đoạn Script, bạn có thể cho nó ở trong cặp thẻ cũng được Để sao cho ta quản lý file một cách thuận tiện nhất Thuộc tính type: thuộc tính này không bắt buộc Không có cũng không sao Js tự mặc định sẵn trong HTML Cách 2 : Dùng link để gọi file js riêng Js được đặt ở một file riêng biệt vs html Đuôi js Thuộc tính src để đặt đường dẫn file js 14 Trong file js riêng không được chứa cặp thẻ 1 1 4 2 Biến trong JavaScript Giố ng như nhiều ngôn ngữ chương trình khác, JavaScript có các biến Biến có thể được xem là một nơi chứa (Container) được đặt tên Bạn có thể đặt dữ liệu vào trong nơi chứa này và sau đó tham chiếu đến dữ liệu này một cách đơn giản là đặt tên cho nơi chứa Tr ước khi bạn sử dụng một biến trong chương trình JavaScript, bạn phải khai báo nó Biến được khai báo với từ khóa var như sau: Bạn cũng có thể khai báo nhiều biến với cùng từ khóa var như sau: Lưu giữ một giá trị trong một biến được gọi là khởi tạo biến Bạn có thể khởi tạo biến tại thời điểm tạo biến hoặc tại thời điểm sau khi bạn cần biến đó Ví dụ: bạn có thể tạo một biến tên money và gán giá trị 2000 50 cho nó sau đó Với biến khác, bạn có thể gán một giá trị tại thời điểm khởi tạo như sau: Ghi chú: Chỉ sử dụng từ khóa var cho khai báo hoặc khởi tạo biến, một lần cho bất kỳ tên biến nào trong tài liệu Bạn không nên khai báo lại cùng một biến hai lần 1 1 4 3 Các câu lệnh trong javaScript Câu lệnh dưới đây nói cho trình duyệt hãy ghi dòng “Blog Kiến càng” vào phần tử HTML có id=”website” Ví dụ: Document getElementById(“website”) innerHTML= “Blog kiến càng”; 15 1 2 Tổng quan MySQL 1 2 1 Giới thiệu MySQL MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở miễn phí nằm trong nhóm LAMP (Linux – Apache - MySQL – PHP) >< Microsoft (Windows, IIS, SQL Server, ASP/ASP NET), vì MySQL được tích hợp sử dụng chung với apache, PHP nên nó phổ biến nhất thế giới Vì MySQL ổn định và dễ sử dụng và My SQL cũng có cùng một cách truy xuất và mã lệnh tương tự với ngôn ngữ SQL chính vì thế nên MySQL được sử dụng và hỗ trợ của những lập trình viên yêu thích mã nguồn mở Nhưng Mysql không bao quát toàn bộ những câu truy vấn cao cấp như SQL Server Vì vậy Mysql chỉ đáp ứng việc truy xuất đơn giản trong quá trình vận hành của website, thích hợp cho các ứng dụng có truy cập CSDL trên internet và có thể giải quyết hầu hết các bài toán trong PHP, Perl 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, MacOSX, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS MySQL là một 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) 1 2 2 Ưu điểm của MySQL a Linh hoạt Sự linh hoạt là 1 đặc tính nổi bật của MySQL với các phiên bản đang được hỗ trợ của Linux, Unix, Windows, MySQL, b Thực thi cao Các chuyên gia cơ sở dữ liệu có thể cấu hình máy chủ cơ sở dữ liệu MySQL đặc trưng cho các ứng dụng đặc thù thông qua kiến trúc storage - engine MySQL có thể đáp ứng khả năng xử lý những yêu cầu khắt khe nhất của từng hệ thống, MySQL còn đưa ra các “công cụ” cần thiết cho các hệ thống doanh nghiệp khó tính bằng tiện ích tải tốc độ cao, bộ nhớ cache và các cơ chế xử lý nâng cao khác c Sử dụng ngay Các tiêu chuẩn đảm bảo của MySQL giúp cho người dùng vững tin và chọn sử dụng ngay, MySQL đưa ra nhiều tùy chọn và các giải pháp để người sử dụng dùng ngay cho server cơ sở dữ liệu MySQL 16 d Hỗ trợ giao dịch MySQL hỗ trợ giao dịch mạnh 1 cách tự động, thống nhất, độc lập và bền vững, ngoài ra khả năng giao dịch cũng được phân loại và hỗ trợ giao dịch đa dạng mà người viết không gây trở ngại cho người đọc và ngược lại e Nơi tin cậy để lưu trữ web và dữ liệu Do MySQL có engine xử lý tốc độ cao và khả năng chèn dữ liệu nhanh, hỗ trợ tốt cho các chức năng chuyên dùng cho web, Nên MySQL là lựa chọn tốt nhất cho các ứng dụng web và các ứng dụng web doanh nghiệp f Bảo mật tốt Doanh nghiệp nào cũng cần tính năng bảo mật dữ liệu tuyệt đối vì đó chính là lợi ích quan trọng hàng đầu và đó cũng là lý do mà các chuyên gia về cơ sở dữ liệu chọn dùng MySQL MySQL có các kỹ thuật mạnh trong việc xác nhận truy cập cơ sở dữ liệu và chỉ có người dùng đã được xác nhận mớ i có thể truy cập vào server cơ sở dữ liệu g Phát triển ứng dụng hỗn hợp MySQL cung cấp hỗ trợ hỗn hợp cho bất kỳ sự phát triển ứng dụng nào nên MySQL được xem là cơ sở dữ liệu mã nguồn mở phổ biến nhất thế giới h Dễ quản lý Quá trình cài đặt MySQL diễn ra khá nhanh chóng trên Microsoft Windows, Linux, Macintosh hoặc Unix Sau khi cài đặt, các tính năng tự động mở rộng không gian, tự khởi động lại và cấu hình động được thiết lập sẵn sàng cho người quản trị cơ sở dữ liệu làm việc i Mã nguồn tự do và hỗ trợ xuyên suốt Nhiều doanh nghiệp lo lắng việc sử dụng mã nguồn mở là không an toàn và không được hỗ trợ tốt vì đa số tin vào các phần mềm có bản quyền, nhưng đối với MySQL, các nhà doanh nghiệp hoàn toàn có thể yên tâm về điều này, MySQL có chính sách bồi thường hẳn hoi và luôn hỗ trợ tối đa cho quý doanh nghiệp j Chi phí thấp Đối với các dự án phát triển mới , nếu các doanh nghiệp sử dụng MySQL thì đó là một chọn lựa đúng đắn vừa tiết kiệm chi phí vừa đáng tin cậy 17 1 2 3 Tại sao sử dụng MySQL Server - Khả năng mở rộng và tính linh hoạt MySQL cho phép người dùng mở rộng và có thể tùy chỉnh để thay đổi linh hoạt cấu trúc bên trong Máy chủ cơ sở dữ liệu MySQL đáp ứng nhiều tính năng linh hoạt, nó có sức chứa để xử lý các ứng dụng được nhúng sâu với 1MB dung lượng để chạy kho dữ liệu khổng lồ lên đến hàng terabytes thông tin Đặc tính đáng chú ý của MySQL là sự linh hoạt về flatform với tất cả các phiên bản của Windows, Unix và Linux đang được hỗ trợ Và đương nhiên, tính chất mã nguồn mở của MySQ L cho phép tùy biến theo ý muốn để thêm các yêu cầu phù hợp cho database server - Hiệu năng cao Với kiến trúc storage - engine cho phép các chuyên gia cơ sở dữ liệu cấu hình máy chủ cơ sở dữ liệu MySQL đặc trưng cho các ứng dụng chuyên biệt Dù ứng dụng là website dung lượng lớn phục vụ hàng triệu người/ngày hay hệ thống xử lý giao dịch tốc độ cao thì MySQL đều đáp ứng được khả năng xử lý khắt khe của mọi hệ thống Với những tiện ích tải tốc độ cao, cơ chế xử lý nâng cao khác và đặc biệt bộ nhớ caches, MySQ L đưa ra tất cả nhưng tính năng cần có cho hệ thống doanh nghiệp khó tính hiện nay - Tính sẵn sàng cao MySQL đảm bảo sự tin cậy và có thể sử dụng ngay MySQL đưa ra nhiều tùy chọn có thể “mì ăn liền” ngay từ cấu hình tái tạo chủ/tớ tốc độ cao, để các nhà phân phối thứ 3 có thể đưa ra những điều hướng có thể dùng ngay duy nhất cho server cơ sở dữ liệu MySQL - Hỗ trợ giao dịch mạnh mẽ MySQL đưa ra một trong số những engine giao dịch cơ sở dữ liệu tốt nhất trên thị trường Các đặc trưng bao gôm, khóa mức d òng không hạn chế, hỗ trợ giao dịch ACID hoàn thiện, khả năng giao dịch được phân loại và hỗ trợ giao dịch đa dạng (multi - version) mà người đọc không bao giờ cản trở cho người viết và ngược lại Dữ liệu được đảm bảo trong suốt quá trình server có hiệu lực, các mức giao dịch độc lập được chuyên môn hóa, khi phát hiện có lỗi khóa chết ngay tức thì 18 - Điểm mạnh của Web và Data Warehouse MySQL với điểm mạnh là cho phép xử lý ở tốc độ cao, hỗ trợ các tính năng chuyên dụng cho website MySQL là nơi cho các website trao đổi thường xuyên bởi nó có engine xử lý tốc độ cao, khả năng chèn dữ liệu cực nhanh và hỗ trợ mạnh các chức năng chuyên dụng của web Các tính năng này cũng được sử dụng cho môi trường lưu trữ dữ liệu mà MySQL tăng cường đến hàng terabyte cho các server đơn Những tính năng khác như chỉ số băm, bảng nhớ chính, bảng lưu trữ và cây B đã được gói lại để giảm các yêu cầu lưu trữ tới 80% Vì thế, MySQL là sự chọn lựa tốt nhất cho cả ứng dụng web và các ứng dụng của doanh nghiệp - Bảo vệ dữ liệu mạn h mẽ Việc quan trọng của các doanh nghiệp là bảo mật dữ liệu, MySQL tích hợp các tính năng bảo mật an toàn tuyệt đối Với việc xác nhận truy cập cơ sở dữ liệu, MySQL trang bị các kỹ thuật mạnh, chỉ có người sử dụng đã được xác nhận mới truy cập được vào cơ sở dữ liệu SSH và SSL cũng được hỗ trợ để đảm bảo kết nối an toàn và bảo mật Tiện ích backup và recovery cung cấp bởi MySQL và các hãng phần mềm thứ 3 cho phép backup logic và vật lý cũng như recovery toàn bộ hoặc tại một thời điểm - Phát triển ứng dụn g toàn diện MySQL trở thành cơ sở dữ liệu mã nguồn mở phổ biến nhất hiện nay một phần là do cung cấp hỗ trợ hỗn hợp cho bất cứ sự phát triển ứng dụng nào cần Trong cơ sở dữ liệu, hỗ trợ có thể được tìm thấy trong các trigger, stored procedure, cursor, vie w, ANSI - standard SQL,… MySQL cũng cung cấp các bộ kết nối như: JDBC, ODBC ,… để tất cả các form của ứng dụng sử dụng MySQL như một erver quản lí dữ liệu được đề xuất hàng đầu - Quản lý dễ dàng Cài đặt MySQL khá nhanh và trung bình từ khi download phần mềm tới khi cài đặt thành công chỉ mất chưa đầy 15 phút Cho dù flatform là Linux, Microsoft Windows, Macintosh hoặc Unix thì quá trình cũng diễn ra nhanh chóng Khi đã cài đặt, tính năng quản lý n hư tự khởi động lại, tự động mở rộng không gian và cấu hình động sẵn sàng cho người quản trị cơ sở dữ liệu bắt đầu làm việc MySQL cung cấp toàn bộ công cụ quản lý đồ họa cho phép một DBA quản lý, sửa chữa và điều khiển hoạt động của nhiều server MySQL từ một máy trạm đơn 19 - Mã nguồn mở tự do và hỗ trợ 24/7 Nhiều doanh nghiệp còn băn khoăn trong việc giao toàn bộ cho phần mềm mã nguồn mở bởi khó có thể tìm được hỗ trợ hay bảo mật an toàn phục vụ chuyên nghiệp Với MySQL mọi sự cam kết đều rõ ràng, MySQL cam kết bồi thường khi gặp sự cố - Chi phí sở hữu thấp nhất Sử dụng MySQL cho các dự án, doanh nghiệp đều nhận thấy sự tiết kiệm chi phí đáng kể Người dùng MySQL cũng không mất nhiều thời gian để sữa chữa hoặc vấn đề thời gian chết 1 3 Tổng qua về Xampp X ampp là một công cụ tích hợp đầy đủ các thành bao gồm Apache, Mysql, PHP, Perl Giúp chúng ta tạo ra môi trường web server trên máy tính của mình, để có thể chạy được kịch bản PHP 1 Apache Là một chương trình máy chủ, dùng để giao tiếp với các giao thức HTTP Apache chạy tốt trên mọi hệ điều hành 2 Mysql Là hệ quản trị cơ sở dữ liệu, được dùng để lưu trữ thông tin của một website Mỗi website có thể sử dụng một hoặc nhiều cơ sở dữ liệu 3 PHP Là ngôn ngữ kịch bản trên phía Server, dùng để xử lý các thao tác của người dùng Và làm việc trực tiếp với cơ sở dữ liệu (Database) 4 Perl Là một tầng cao hơn, một ngôn ngữ lập trình năng động hơn Sử dụng rộng rãi trong lập trình mạng và quản trị hệ thống Ít phổ biến cho mục đích phát triển web, Perl thích hợp với rất nhiều ứng dụng 1 3 1 Cài đặt xampp Tiến hành đến phần cài đặt Xampp Trước tiên, tải về phần mềm cài đặt ở dưới đây - P hiên bản XAMPP bản mới nhất - Tải các phiên bản XAMPP khác Nếu đã xong bước này thì cài đặt Xampp vào máy tính của mình theo bước sau 20 Hình 1 3 Hướng dẫn cài đặt XAMPP - Đến đây, chọn nơi muốn lưu Xampp, có thể skip bước này để Xampp tự động lưu vào ổ C, còn không thì có thể lưu ở bất cứ ổ đĩa nào bạn muốn Hình 1 4 Chọn địa cài đặt Xampp tự động hoàn tất phần cài đặt Chỉ cần chọn “Finish” để đóng cửa sổ cài đặt thôi - Vậy là đã hoàn thành bước cài đặt Xampp vào máy tính Tiếp tục phần hướng dẫn cách sử dụng Xampp: - Đến đây có thể đóng/mở 2 ứng dụng Apache và MySQL tùy ý để làm việc thao tác dễ dàng hơn (việc đóng 2 ứng dụng không liên quan đến quá trình hoạt động của chúng) 21 Hình 1 5 Cài đặt thành công - Click vào phpMyAdmin trong các trình duyệt web trên máy tính (Chrome, FireFox, Cốc Cốc …) Sẽ thấy nhanh chóng các chỉ số phiên bản PHP - MySQL mà đang dùng - Truy cập vào liên kết http://localhost/phpmyadmin (hoặc http://127 0 0 1/phpmyadmin ) để bắt đầ u thiết lập trang quản trị cơ sở dữ liệu cho website như dưới đây Hình 1 6 Trang chính 22 - Đến đây, sẽ bắt đầu thiết lập cơ sở dữ liệu ngôn ngữ SQL cho website Cách tạo database SQL cho Xampp như chỉ dẫn dưới đây: Hình 1 7 Trang phpMyadmin (1) Chọn ngôn ngữ cho Xampp, ví dụ English, Vietnamese… (2) Chọn bộ mã ký tự cho server của bạn Chọn “Defa ult” (3) Đây là database mà phpMyAdmin sẽ show ra cho mình tham khảo (4) Thêm database mới cho mục (3) (5) Nhập dữ liệu cho database mới theo ngôn ngữ dữ liệu SQL (6) Xuất dữ liệu SQL mới bạn vừa nhập (7) Nhập dữ liệu SQL mới này vào database bạn mới tạo Đặc biệt cần ghi nhớ: Lúc cài đặt và sử dụng Xampp, hãy tắt hết các phần mềm đang sử dụng để phòng ngừa trường hợp bị xung đột phần mềm dẫn đến lỗi không thể triển khai Xampp được 1 4 Notepad++ 1 4 1 Giới thiệu về Notpad++ Notepad++ là một phần mềm soạn thảo tiện ích của mã nguồn mở được hỗ trợ cho nhiều ngôn ngữ lập trình HTML, PHP, ASP , C#, Python , Java , … Phần mềm hoạt động trong môi trường Microsoft Windows Được các webmaster trên thế giới tin dùng 23 Hình1 8 Giới thiệu về notepad++ Ngoài ra, Notepad++ là phần mềm thay thế hoàn hảo cho Notepad cổ điển xưa, kh ông những về mặt tính năng mà cả về giao diện tương tác đều cho thấy sự đẳng cấp vượt trội 1 4 2 Ưu đi ể m c ủ a Notepad++ Notepad++ là phiên bản nâng cấp hoàn hảo cho Notepad cổ điển xưa, không những về mặt tính năng mà cả về giao diện tương tác đều cho thấy sự đẳng cấp vượt trội Cùng với DiziBrand điểm qua một số ưu điểm của Notepad++ như: Notepad++ được phát triển dựa trên Notepad mặc định của Windows nên phần mềm sẽ có những tính năng tinh túy nhất của Notepad và được cải thiện thêm để trở thành một p hần mềm hoàn chỉnh hơn về mọi mặt Mặc dù được phát triển thêm nhiều tính năng tích hợp trong phần mềm nhưng Notepad++ vẫn giữ được sự gọn nhẹ, đơn giản và dễ dàng sử dụng, dung lượng nhỏ gọn chỉ chưa đầy 10MB Notepad++ liên tục được cập nhật những phiên bản mới với việc khắc phục lỗi và bổ sung thêm những tính năng khác nhau Và đặc biệt hơn là người sáng lập ra Notepad++ là người có tên tuổi trên cộng đồng Gifhub Với những ưu điểm trên, Note++ chắc chắn sẽ là công cụ không thể thiếu đối với ai mới bắt đ ầu học tập hay làm việc với code trên máy tính 1 4 3 Cài đặt Dễ dàng download bản cài đặt mới nhất tại trang chủ: https://notepad - plus - plus org (Ví dụ này thực hiện tại phiên bản Notepad++ 7 9 2 Sau khi download bản cài đặt 24 phù hợp, khởi động file cài đặt và chọn ngôn ngữ 1 9 Chọn ngôn ngữ - Chọn Next Hình1 10 Hướng dẫn cài đặt 25 - Chọn I Agree để đồng ý với nh ững điều khoản của chương trình Hình1 11 Hướng dẫn cài đặt - Chọn đường dẫn lưu chương trình Hình1 12 chọn địa cài đặt - Chọn các Components cần thiết Hình1 13 Chọn các Components cần thiết 26 - Có thể chọn tạo Shortcut trên Desktop trước khi Install Hình1 14 Chọn các tính năng của Notdpad++ - Sau khi cài đặt thành công nhấn Finish để hoàn tất và chạy thử chương trình Hình 1 15 Cài đặt thành công 27 CHƯƠNG 2 : PHÂN TÍCH VÀ THUYẾT KẾ HỆ THỐNG 2 1 Phân tích chức năng của hệ thống A Yêu cầu về chức năng hệ thống Quản trị viên Người dùng Người dùng khách Người dùng Người dùng có thể tự đăng ký Người dùng có thể đăng nhập bằng email và mật khẩu hợp lệ Quên mật khẩu (người dùng có thể khôi phục mật khẩu của chính mình) Đặt tour 1 Quản lý các đặt phòng 2 Tạo vé (Liên quan đến khiếu nại) 3 đổi mật khẩu 4 Quản trị viên - Quản trị viên có thể tạo Gói 1 Quản lý gói (Tạo, Cập nhật) 2 Quản lý người dùng 3 Quản lý yêu cầu 4 Quản lý các vấn đề 5 Quản lý các đặt phòng 6 Quản lý các trang 7 Đổi mật khẩu 8 Bảng điều khiển dành cho quản trị viên 9 Người dùng khách B Yêu cầu về hình thức - Giao diện thân thiện, dễ dung - Màu sác hài hóa - Bố cục các chức năng hợp lý C Yêu cầu về bảo mật - Về phía người dùng: cần phải đăng nhập để mua hàng, củng như bình luận và đánh giá sản phẩm, nếu chưa có tài khoản thì có thể đăng ký… 28 - Về phía người quản trị: đăng nhập để quản lý dữ liệu website 2 2 Phân tích dữ liệu hệ thống 2 2 1 User(người dung) Hình 2 1 Sơ đồ chức năng user - Sing Up - Đăng ký: người dùng truy cập vào trang đăng ký nhập tên đăng nhập và mật khẩu để tạo tài khoản mới Hệ thống sẽ kiểm tra nếu tên đăng nhập chưa được sử dụng ở một tài khoản khác thì sẽ được phép chuyển hướn g đến trang đăng nhập còn nếu tên đăng nhập đã được sử dụng hệ thống sẽ yêu cầu nhập lại tên đăng nhập - Sing In - Đăng nhập: người dùng truy cập vào trang đăng nhập điền tên đăng nhập và mật khẩu Hệ thống sẽ kiểm tra thông tin và thông báo ra màn hình, n ếu thành công thì sẽ được chuyển hướng đến trang chủ - thu hút khách du lịch: người dùng click vào ô Detail xem Package là có thông tin cưa package ở tỉnh sekong - Package List - Danh sách gói hà ng: người dùng người chọn tour muốn đăng ký click vào nút đ ăng ký tour du lịch hệ thống sẽ kiểm tra đã đăng nhập hay chưa nếu chưa hệ thống sẽ chuyển đến trang đăng nhập còn nếu đã đăng nhập hể thống sẽ chuyển đến trang đăng ký tour nhập thông tin và phương thức thanh toán rồi đăng ký - Issue Tickets - Phát hành vé: Ngày và vé khởi hành là có: Ticket Id,Issue,Dessscription,Admin Remark,Reg Date,Remark date \ - package details - chi tiết gói : Thông tin về các điểm du lịch nổi tiếng và cũng có thể đặt trước một nơi chỉ cho ngày lưu trú 29 2 2 2 Admin (người quản lý) Hình 2 2 Sơ đồ chức năng admin - Đăng nhập tài khoản : người quản trị đăng nhập tải khoản quản trị tiếp theo click vào ‘Sekong Travel’ dưới phần footer hệ thống sẽ kiểm tra nếu là tài khoản admin sẽ chuyển đến trang quản trị còn nếu khô ng phải tài khoản quản trị thì sẽ đưa về trang chủ - Tuor Package : quản trị viên chọn mục cần quản lý ở đây hệ thông sẽ cho phép quản trị viên thêm sửa xóa thông tin - Manage Users : xem thông tin cửa User - Manage Booking : xác nhận và hủy ACTION - Manage Issues : - Manage Enquiries: - Manage Pages: 30 a) Sơ đồ use case tổng quát Hình 2 3 Sơ đồ User case tổng quát b) Sơ đồ use case quản lý Biểu đồ User case chức năng thêm thể loại Hình 2 4 Biểu đồ user case thêm thể loại 31 Biểu đồ User case chức năng thêm Tour du lịch Hình 2 5 Biểu đồ User case chức năng sửa Tour du lịch Biểu đồ User case chức năng thêm tin tức du lịch Hình 2 6 Biểu đồ User case chức năng thêm tin tức du lịch 32 Biểu đồ User case chức năng xử lý đơn đăng ký Tour du lịch Hình 2 7 Biểu đồ User case chức năng xử lý đơn đăng ký Tour du lịch Biểu đồ user case chức năng quản lý bình luận Hình 2 8 Biểu đồ User case chức năng quản lý bình luận 33 2 2 3 Cơ sở dữ liệu(MySQL) 1 admin admin Thuộc tính Kiểu dữ liệu Mô tả id Int(11) Id của admin UserName Varchar(100) Tài khoản password Varchar(100) Mặt khẩ u updationDate Timestamp thời gian updation 2 tbbooking Products Thuộc tính Kiểu dữ liệu Mô tả BookingId int(11) Mã loại tin, mã tự động tăng, not null, khóa chính PackageId int(11) Mã package UserEmail varchar(100) Email người dùng FromDate varchar(100) thời gian From ToDate varchar(100) Thời gian tạo mới Comment mediumtext Nhận xét RegDate Timestamp thời gian Reg status int(11) tình trạng CancelledBy varchar(5) Bị hủy bởi UpdationDate timestamp thời gian updation 3 tblenquiry tblenquiry Thuộc tính Kiểu dữ liệu Mô tả id Int(11) Mã slide, mã tự động tăng, not null, khóa chính FullName varchar(100) Tên người dùng Emailid varchar(100) Email người dù ng MobileNumber char(11) Số điện thoại 34 Subject varchar(100) ch ủ t ừ Description mediumtext sự miêu tả PostingDate mediumtext Ngày đăng Status Int(11) Tình trạng 4 tblissues tblissues Thuộc tính Kiểu dữ liệu Mô tả id Int (11) Mã tin tức, mã tự động tăng, not null, khóa chính UserEmail Varchar(1 0 0) Email Tài khoản Issue Varchar (100) Phát hành Description mediumtext Sự miêu tả PostingDate timestamp Ngày đăng AdminReamrk mediumtext Quản trị viên Reamrk AdminremarkDate timestamp Ngày đánh dấu quản trị viên 5 tbpages tbpages Thuộc tính Kiểu dữ liệu Mô tả id Int (11) Mã khách hàng , mã tự động tăng, not null, khóa chính type Varchar(30) các loại detail Varcha r(10) chi tiết 6 tbltourpackages T bltourpackages Thuộc tính Kiểu dữ liệu Mô tả PackageId Int (11) Mã khách hàng , mã tự động tăng, not null, khóa chính PackageName Varchar(200) tên điểm thu hút PackageType Varcha r(150) Loại gói PackageLocation Varchar (100) Vị trí gói hàng 35 PackagePrice Int(11) Giá trọn gói PackageFetures varchar(255) Tính năng gói PackageDetails mediumtext Chi tiết gói PackageImage varchar(100) Hình ảnh gói hàng Creationdate varchar(100) Ngày thành lập UpdationDate timestamp Ngày cập nhật 7 tblusers tblusers Thuộc tính Kiểu dữ liệu Mô tả id Int(11) Mã bệnh viện, mã tự động tăng, not null, khóa chính FullN ame Varchar(100) Tên người dùng MobileNumber cha r(10) Số điện thoại EmailId Varchar (70) Email cửa người dùng Password Varchar(100) Mặt khâu RegDate timestamp Ngày đăng ký UpdationDate timestamp Ngày cập nhật Phân tích cơ sở dữ liệu Hình 2 9 mô hình quan hệ cơ sở dữ liệu 36 CHƯƠNG 3 : KẾT QUẢ THỰC NGHIỆM 3 1 Phần khách hàng 3 3 1 User(Người d ù ng) Hiển thị được thông tin của menu, hiển thị được tin tức cho người dùng xem và tương tác được Hình 3 1 : Trang chủ Trang chủ http://localhost/tms/index php Là trang chính, chứa tất cả các mục tin tức Từ trang chủ độc giả có thể tìm thấ y mọi thông tin cần thiết: - Tìm các điểm tham quan nổi tiếng ở Tỉnh Sekong Hình 3 2 Sign In củ a người dung 37 Hình 3 3 Sing up của người dùng Hình 3 4 : Trang thu hút khách du lịch Hình 3 5 Package List 38 Hình 3 6 History Hình 3 7 Issue Tickets( Phát hành vé) 39 Hình 3 8 package details (chi tiết gói) 3 2 Phần Quản lý 3 2 1 Admin Hình 3 9 Sing in Admin(người quản lý) 40 Hình 3 10 dashboard (bảng điều khiển) Hình 3 11 create - package 41 Hình 3 12 manage - users Hình 3 13 manage - bookings 42 Hình 3 14 Manage issues Hình 3 15 manage - enquires 43 Hình 3 16 manage - pages 44 PHẦN 3 : KẾT LUẬN Kết quả đạt được Với sự chỉ bảo và hướng dẫn cô Lê Thị Nguyên An , đề tài “THIẾT KẾ VÀ XÂY DỰNG WEBSITE KHÁM PHÁ ĐỊA DANH NỔI TIẾNG Ở TỈNH SEKONG” Với những thuận lợi và khó khăn trong quá trình làm việc, website cơ bản đã hoàn thành nhưng không tránh phần sai sót Tuy nhiên chúng em đã rất nổ lực và website tin tức đã hoàn thành những nội dung chính sau: - Vận dụng ngôn ngữ html,css, php – mysql và công cụ Visual stu dio code vào việc xây dựng website Các địa điểm tham quan nổi tiếng ở tỉnh Sekong - Phần giao diện người dùng: Người dùng Người dùng khách Người dùng Người dùng có thể tự đăng ký Người dùng có thể đăng nhập bằng email và mật khẩu hợp lệ Quên mật khẩu (ngườ i dùng có thể khôi phục mật khẩu của chính mình) - Đặt tour Quản lý các đặt phòng Tạo vé (Liên quan đến khiếu nại) đổi mật khẩu Quản trị viên - Quản trị viên có thể tạo Gói Quản lý gói (Tạo, Cập nhật) Quản lý người dùng Quản lý yêu cầu Quản lý các vấn đề Quản lý các đặt phòng Quản lý các trang Đổi mật khẩu Bảng điều khiển dành cho quản trị viên Người dùng khách - Truy cập trang web: Người dùng khách có thể yêu cầu 45 PHẦN 4 : TÀI LIỆU THAM KHẢO [1] http://www w3schools com [ 2] http://www vnexpress net [3] http://www google com 46 NHẬN XÉT CỦA GIẢNG VIÊN Sinh viên luôn chịu khó tìm tòi, học hỏi và nghiên cứu trong suốt thời gian thực hiện khóa luận tốt nghiệp Nội dung đề tài phù hợp với một khóa luận tốt nghiệp cho sinh viên chuyên ngành CNTT bậc Đại học Hình thức trình bày và kết cấu đúng theo qui định đưa ra GVHD luôn nhắc nhở động viên em để em thực hiện tốt nhất khóa luận này, tuy nhiên vẫn còn chưa như mong đợi Hi vọng trong tương lai em sẽ hoàn thiện hơn nữa nội dung này Cán bộ hướng dẫn Lê Thị Nguyên An Sinh viên thực hiện Soukkasanh Heuangvilay Phản biện 1 ………………… Phản biện 2 ……………………CƠ SỞ LÝ THUYẾT VÀ MỘT SỐ CÔNG CỤ HỔ TRỢ
Giới thiệu các ngôn ngữ lập trình
1.1.1 Giới thiệu ngôn ngữ HTML
Ngôn ngữ HTML (HyperText Markup Language - ngôn ngữ đánh dấu siêu văn bản) là một trong các loại ngôn ngữ được sử dụng trong lập trình web Khi truy cập một trang web cụ thể là click vào các đường link, bạn sẽ được dẫn tới nhiều trang các nhau, và các trang này được gọi là một tài liệu HTML (tập tin HTML)
Một trang HTML như vậy được cấu thành bởi nhiều phần tử HTML nhỏ và được quy định bằng các thẻ tag Bạn có thể phân biệt một trang web được viết bằng ngôn ngữ HTML hay PHP thông qua đường link của nó Ở cuối các trang HTML thường hay có đuôi là HTML hoặc HTML
HTML là ngôn ngữ lập trình web được đánh giá là đơn giản Mọi trang web, mọi trình duyệt web đều có thể hiển thị tốt ngôn ngữ HTML Hiện nay, phiên bản mới nhất của HTML là HTML 5 với nhiều tính năng tốt và chất lượng hơn so với các phiên bản HTML cũ
1.1.1.1 Vai trò của HTML trong lập trình Web
Vậy, đối với các website, ngôn ngữ HTML đóng vai trò như thế nào?
HTML theo đúng nghĩa của nó là một loại ngôn ngữ đánh dấu siêu văn bản, thế nên các chức năng của nó cũng xoay quanh yếu tố này Cụ thể, HTML giúp cấu thành các cấu trúc cơ bản trên một website (chia khung sườn, bố cục các thành phần trang web) và góp phần hỗ trợ khai báo các tập tin kĩ thuật số như video, nhạc, hình ảnh
Hình 1.1: Vai trò của HTML trong tập trình Web Ưu điểm nổi trội nhất và cũng là thế mạnh của HTML là khả năng xây dựng cấu trúc và khiến trang web đi vào quy củ một cách hệ thống và hoàn chỉnh Nếu bạn mong muốn sở hữu một website có cấu trúc tốt có mục đích sử dụng nhiều loại yếu tố trong văn bản, hãy hỏi HTML Nhiều ý kiến cho rằng tùy theo mục đích sử dụng mà lập trình viên hay người dùng có thể lựa chọn ngôn ngữ lập trình riêng cho website của bạn, tuy nhiên thực chất HTML chứa những yếu tố cần thiết mà dù website của bạn có thuộc thể loại nào, giao tiếp với ngôn ngữ lập trình nào để xử lý dữ liệu thì nó vẫn phải cần đến ngôn ngữ HTML để hiển thị nội dung cho người truy cập
Nói đúng hơn, dù website của bạn được xây dựng như thế nào, trên nên tảng nào thì nó cũng cần đến sự hỗ trợ của HTML, dù ít dù nhiều Đối với các lập trình viên hay nhà phát triển web, họ đều phải học HTML như một loại ngôn ngữ cơ bản trước khi bắt tay vào thiết kế trang web
Như đã đề cập ở trên, các trang HTML được quy định bằng các thẻ tag Những thẻ này được chứa trong các dấu ngoặc đơn dạng: Trừ một vài thẻ đặc biệt, hầu hết các thẻ cơ bản đều có các thẻ đóng tương ứng với nó Ví dụ, thẻ có thẻ đóng tương ứng là , thẻ có thẻ đóng tương ứng là … Dưới đây là các mẫu thẻ tag bạn thường gặp trong HTML
Còn gọi là thẻ khai báo một tài liệu HTML Thẻ này xác định loại tài liệu và phiên bản HTML
Thẻ này chứa đựng các tài liệu HTML đầy đủ Ở đầu trang sẽ xuất hiện các thẻ , và thân tài liệu là các thẻ ,
Thẻ này đại diện cho đầu trang tài liệu mà có thể giữ các thẻ
Thẻ được sử dụng trong thẻ chỉ tiêu đề tài liệu
Thẻ này đại diện cho thân tài liệu và giữ các thẻ như ,
Thẻ tag này đại diện cho các tiêu đề trang
Thẻ tag này đại diện cho định dạng các đoạn văn trong trang web
1.1.2 Giới thiệu ngôn ngữ CSS
CSS là viết tắt của Cascading Style Sheets Đây là một ngôn style sheet được sử dụng để mô tả giao diện và định dạng của một tài liệu viết bằng ngôn ngữ đánh dấu (markup) Nó cung cấp một tính năng bổ sung cho HTML Nó thường được sử dụng với HTML để thay đổi phong cách của trang web và giao diện người dùng Nó cũng có thể được sử dụng với bất kỳ loại tài liệu XML nào bao gồm cả XML đơn giản, SVG và XUL
CSS được sử dụng cùng với HTML và JavaScript trong hầu hết các trang web để tạo giao diện người dùng cho các ứng dụng web và giao diện người dùng cho nhiều ứng dụng di động
CSS làm được những gì?
Bạn có thể thêm giao diện mới vào các tài liệu HTML cũ
Bạn hoàn toàn có thể thay đổi giao diện trang web của mình chỉ với một vài thay đổi trong mã CSS
Tại sao sử dụng CSS Đây là ba lợi ích chính của CSS:
1) Giải quyết một vấn đề lớn
Trước khi có CSS, các thẻ như phông chữ, màu sắc, kiểu nền, các sắp xếp phần tử, đường viền và kích thước phải được lặp lại trên mọi trang web Đây là một quá trình rất dài tốn thời gian và công sức
2) Tiết kiệm rất nhiều thời gian Định nghĩa kiểu CSS được lưu trong các tệp CSS bên ngoài vì vậy có thể thay đổi toàn bộ trang web bằng cách thay đổi chỉ một tệp
3) Cung cấp thêm các thuộc tính
CSS cung cấp các thuộc tính chi tiết hơn HTML để định nghĩa giao diện của trang web
Các điểm chính của CSS được đưa ra dưới đây:
CSS là viết tắt của Cascading Style Sheet
CSS được sử dụng để thiết kế các thẻ HTML
CSS là một ngôn ngữ được sử dụng rộng rãi trên web
HTML, CSS và JavaScript được sử dụng để thiết kế web Nó giúp các nhà thiết kế web áp dụng phong cách trên các thẻ HTML
h1 { color:white; background-color:#00eeee; padding:5px;
Write Your First CSS Example
Bộ quy tắc CSS chứa selector và khối khai báo
Selector: Bộ chọn cho biết phần tử HTML bạn muốn tạo kiểu cách Nó có thể là bất kỳ thẻ nào như , ,…
Declaration Block: Khối khai báo có thể chứa một hoặc nhiều khai báo được phân cách bởi dấu chấm phẩy (;) Đối với ví dụ trên, có hai khai báo:
Mỗi khai báo chứa một tên thuộc tính và giá trị, được phân cách bởi dấu hai chấm
Property: Một property là một kiểu của thuộc tính của phần tử HTML Nó có thể là color, border…
Value: Các giá trị được gán cho thuộc tính CSS Trong ví dụ trên, giá trị
“yellow” được gán cho thuộc tính color
Selector{Property1: value1; Property2: value2;
1.1.3 Giới thiệu về Ngôn ngữ PHP
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
Như đã giới thiệu, PHP là ngôn ngữ máy chủ, mã lệnh PHP sẽ tập trung trên máy chủ để phục vụ các trang Web theo yêu cầu của người dùng thông qua trình duyệt Khi người dùng truy cập website viết bằng PHP, máy chủ đọc mã lệnh PHP và xử lý chúng theo các hướng dẫn đã được mã hóa
Khác với Website HTML tĩnh ở chỗ: khi có một yêu cầu, máy chủ chỉ đơn thuần gửi dữ liệu HTML đến trình duyệt Web và không xảy ra một sự biến dịch nào từ phía máy chủ Đối với người dùng cuối và trên trình duyệt web, các trang home html và home php trong tương tự như nhau, nhưng thực chất nội dung của trang được tạo theo các cách khác nhau
- Ưu điểm khi dùng PHP
+ Dùng mã nguồn mở (có thể chạy trên Apache hoặc IIS)
+ Phổ biến hơn ASP (có thể thấy dựa vào số website dùng PHP)
+ Dễ học khi đã biết HTML, C
+ Dựa vào XAMP (dễ cấu hình)
+ Nhiều hệ thống CMS miễn phí dùng
+ Hoạt động trên Linux, có thể trên IIS - Windows
+ Chỉ chạy trên ứng dụng web
1.1.3.2 Cú pháp của PHP a Nhúng mã PHP vào HTML
Cách thông dụng sau để nhúng mã PHP
Các bạn có thể chèn mã này sen kẽ các tag của html hoặc có thể từ mã này echo (in) ra các html theo ý muốn
Ví dụ: tôi có thể sử dụng 2 cách như sau
Câu lệnh của php cũng giống như trong lập trình C kết thúc bởi dấu chấm phẩy ";" b Chú thích trong PHP
PHP hỗ trợ các kiểu chú giải như của C, C++