Hệ thống được xây dựng dưới dạng website,ngôn ngữ lập trình sử dụng chủ yếu là PHP kết hợp với HTML, CSS, Javascript,… và hệ quản trị cở sở dữ liệu Oracle đa phương tiện.. Trình bày tóm
Trang 1LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC
XÂY DỰNG HỆ THỐNG QUẢN LÝ
CÁC CƠ SỞ GIÁO DỤC
KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
Cần Thơ, Tháng 05 năm 2015
Trang 2LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC
XÂY DỰNG HỆ THỐNG QUẢN LÝ
CÁC CƠ SỞ GIÁO DỤC
Mã số đề tài…
Có thể tìm hiểu luận văn tại:
Thư viện Khoa Công nghệ Thông tin và Truyền thông, Trường Đại học Cần Thơ
Website: http://www.cit.ctu.edu.vn/
KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
Trang 3LỜI CẢM ƠN
Đầu tiên, em xin chân thành gửi lời cảm ơn đến quý Thầy Cô khoa Công nghệ Thông tin Và Truyền thông của Trường Đại Học Cần Thơ đã tận tình truyền đạt cho em những kiến thức quý báu, bổ ích trong suốt thời gian học tập tại trường Em xin gửi đến quý thầy cô trường Đại Học Cần Thơ và quý Thầy Cô khoa Công nghệ Thông tin Và Truyền thông lòng biết ơn sâu sắc, đặc biệt là cô Phạm Thị Ngọc Diễm đã tận tình hướng dẫn giúp em hoàn thành luận văn tốt nghiệp này
Tiếp theo, em cũng xin gởi lời cảm ơn các bạn lớp Hệ Thống Thông Tin K37 đã giúp đỡ, ủng hộ và đóng góp ý kiến cho em trong suốt thời gian qua Tuy nhiên, do còn hạn chế về kiến thức nên luận văn không tránh khỏi thiếu sót và hạn chế Rất mong sự thông cảm và chỉ bảo cũng như sự đóng góp quý báu của quý thầy cô và các bạn để đề tài ngày một tốt hơn
Cuối cùng, em xin gửi đến quý thầy cô, Ban lãnh đạo cùng các bạn lời chúc sức khỏe, vui tươi, hạnh phúc và thành công trong công việc cũng như trong cuộc sống
Xin chân thành cảm ơn!
Sinh viên thực hiện
Hồ Thị Thanh Thảo
Trang 4
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Giáo Viên hướng dẫn
Trang 5NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Giáo viên phản biện
Trang 6MỤC LỤC
LỜI CẢM ƠN 1
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 2
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN 3
MỤC LỤC 4
DANH MỤC HÌNH 7
DANH MỤC BẢNG 9
DANH MỤC TỪ VIẾT TẮT 10
TÓM TẮT 11
ABSTRACT 12
CHƯƠNG 1 TỔNG QUAN 13
1.1 ĐẶT VẤN ĐỀ 13
1.2.MỤC TIÊU ĐỀ TÀI 13
1.3.PHẠM VI ĐỀ TÀI 13
1.4.PHƯƠNG PHÁP NGHIÊN CỨU VÀ HƯỚNG GIẢI QUYẾT VẤN ĐỀ16 1.4.1.Phương pháp nghiên cứu vấn đề 16
1.4.2 Hướng giải quyết vấn đề 17
1.5.KẾ HOẠCH THỰC HIỆN 18
CHƯƠNG 2CƠ SỞ LÝ THUYẾT 19
2.1.GIỚI THIỆU HỆ THỐNG GIÁO DỤC VIỆT NAM HIỆN NAY 19
2.2.GIỚI THIỆU VỀ MÔ HÌNH ỨNG DỤNG WEB 19
2.3.GIỚI THIỆU VỀ PHP 21
2.3.1 Tổng quan về PHP 21
2.3.2 Ưu điểm tiêu biểu của ngôn ngữ PHP 21
2.3.3Tìm hiểu về Session và Cookie 22
2.3.4Sử dụng lại mã PHP 23
2.3.5 Tìm hiểu phương thức POST và GET 23
2.3.6 Các hàm PHP quan trọng 24
2.4.GIỚI THIỆU VỀ CSS 25
2.4.1 Khái niệm CSS 25
2.4.2 Cú pháp tạo CSS 25
2.4.3 Cú pháp sử dụng CSS 26
Trang 72.4.4 Ưu điểm của CSS 27
2.5.GIỚI THIỆU VỀ JAVASCRIPT 27
2.5.1 Tổng quan về Javascript 27
2.5.2 Cú pháp trong Javascript 28
2.5.3 Ưu điểm của Javascript 29
2.5.4 Ứng dụng Javascript trong việc giải quyết bài toán 29
2.6.GIỚI THIỆU VỀ JQUERY 30
2.6.1 Tổng quan về jQuery 30
2.6.2 Sử dụng jQuery 30
2.6.3 Ưu điểm của jQuery 31
2.7.GIỚI THIỆU VỀ AJAX 31
2.7.1 Tổng quan về AJAX 31
2.7.2 Ưu điểm của Ajax 32
2.7.3 Ứng dụng Ajax trong giải quết vấn đề bài toán 33
2.8.GIỚI THIỆU VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ORACLE ĐA PHƯƠNG TIỆN 33
2.8.1 Giới thiệu về hệ quản trị cơ sở dữ liệu đa phương tiện 33
2.8.2 Kiến trúc của oracle multimedia 34
2.8.3 Những ưu điểm khi sử dụng cơ sở dữ liệu đa phương tiện 35
2.8.4 Các kiểu đối tượng đa phương tiện 36
2.8.5 Tạo bảng với kiểu dữ liệu đa phương tiện 36
2.8.6 Truy xuất dữ liệu đa phương tiện 37
2.8.7 Thêm dữ liệu đa phương tiện vào cơ sở dữ liệu bằng ngôn ngữ PHP377 2.8.8 Truy xuất dữ liệu đa phương tiện từ Oracle Multimedia 38
2.8.9 Kết hợp PHP và Oracle database 38
2.9 GIỚI THIỆU TỔNG QUAN VỀ GOOGLE MAP API V3 39
2.9.1 Giới thiệu về Google Map API v3 trong việc lưu tọa độ các cơ sở giáo dục vào trang đồ 39
2.9.2 Cách sử dụng Google Map API 39
2.9.2.1 Đăng ký sử dụng Google map API 39
CHƯƠNG 3 NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU 44
3.1.MÔ TẢ HỆ THỐNG 44
3.2.PHÂN TÍCH HỆ THỐNG VÀ THIẾT KẾ MÔ HÌNH 46
Trang 83.2.1.Mô hình dữ liệu mức quan niệm (CDM) 46
3.2.2.Mô hình dữ liệu mức luận lý (LDM) 47
3.3.PHÂN TÍCH VÀ THIẾT KẾ CHƯƠNG TRÌNH 51
3.3.1.Sơ đồ chức năng 51
3.3.2.Lưu đồ giải thuật 53
3.4.GIỚI THIỆU CHƯƠNG TRÌNH DEMO 55
3.4.1.Giao diện trang chủ: 55
3.4.2.Giao diện đăng nhập 55
3.4.3.Giao diện dành quản trị hệ thống 56
CHƯƠNG 4 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 68
4.1.KẾT LUẬN 68
4.1.1.Kết quả đạt được 68
4.1.2.Hạn chế và khó khăn 70
4.2.HƯỚNG PHÁT TRIỂN 70
TÀI LIỆU THAM KHẢO 71
PHỤ LỤC 72
Trang 9DANH MỤC HÌNH
Hình 1 Cơ cấu giáo dục ở nước ta hiện nay 19
Hình 2 Mô hình ứng dụng Web 20
Hình 3 Cơ chế tương tác từ người dùng đến web server 21
Hình 4 Cú pháp tạo css 35
Hình 5 Sơ đồ miêu tả hoạt động của Ajax 32
Hình 6 Kiến trúc của Oracle Multimedia 35
Hình 7 Mô hình dữ liệu mức quan niệm (CDM) 46
Hình 8 Lưu đồ dòng dữ liệu mức 0 49
Hình 9 Lưu đồ dòng dữ liệu mức 1 50
Hình 10 Sơ đồ chức năng của người dùng là quản trị hệ thống 51
Hình 11 Sơ đồ chức năng của người dùng là người dùng không có quyền 52
Hình 12 Sơ đồ chức năng của người dùng là người dùng có quyền 53
Hình 13 Lưu đồ giải thuật đăng nhập 53
Hình 14 Lưu đồ giải thuật thêm cơ sở giáo dục Hình 54
Hình 15 Giao diện trang chủ 54
Hình 16 Giao diện đăng nhập 55
Hình 17 Giao diện trang chủ của quản trị hệ thống 55
Hình 18 Giao diện tìm kiếm dạng cây 56
Hình 19 Giao diện tìm kiếm 56
Hình 20 Giao diện tìm kiếm theo địa chỉ 57
Hình 21 Giao diện hiển thị thông tin tìm kiếm 58
Hình 22 Giao diện Hiển thị thông tin chi tiết 58
Hình 23 Giao diện tìm kiếm hình ảnh 59
Hình 24 Giao diện tìm kiếm video 60
Hình 25 Giao diện thêm cơ sở 60
Hình 26 Giao diện thêm lãnh đạo 61
Hình 27 Giao diện thêm hình ảnh 61
Hình 28 Giao diện thêm video 62
Trang 10Hình 29 Giao diện tìm kiếm hình ảnh 62
Hình 30 Giao diện thống kê 63
Hình 31 Giao diện xóa cơ sở giáo dục 64
Hình 32 Giao diện thống kê danh sách 64
Hình 33 Giao diện thống kê dạng biểu đồ theo tỉnh 65
Hình 34 Giao diện thống kê danh sách theo bậc học 65
Hình 35 Giao diện thống kê danh sách theo loại trường 66
Hình 36 Giao diện đăng ký người dùng mới 66
Hình 37 Giao diện xác nhận thông tin từ admin 67
Hình 38 Giao diện xác nhận thông tin từ người dùng 67
Trang 11DANH MỤC BẢNG
Bảng 1: Kế hoạch thực hiện đề tài 18
Trang 12DANH MỤC TỪ VIẾT TẮT
HQTCSDL Hệ quản tri cơ sở dữ liệu
Trang 13TÓM TẮT
Ngày nay, giáo dục đóng vai trò ngày càng quan trọng trong công cuộc
xây dựng và đổi mới đất nước, ngày càng có nhiều cơ sở giáo dục mở ra để
phục vụ cho nhu cầu đến trường của con em chúng ta Nhằm quản lý những
thông tin về các cơ sở giáo dục, quản lý các báo cáo thống kê cũng như tạo ra
một kênh thông tin mới để phục vụ cho nhu cầu tra cứu thông tin về các cơ sở
giáo dục trong cả nước, nên đề tài “Xây dựng hệ thống quản lý các cơ sở
giáo dục” được đề xuất
Hệ thống được xây dựng dưới dạng website,ngôn ngữ lập trình sử dụng
chủ yếu là PHP kết hợp với HTML, CSS, Javascript,… và hệ quản trị cở sở dữ
liệu Oracle đa phương tiện
Nội dung đề tài được trình bày trong 4 chương:
Chương 1: Tổng quan Giới thiệu vấn đề cần giải quyết, mục tiêu
cần đạt, phạm vi của đề tài.Đồng thời nêu lên kế hoạch và phương
pháp thực hiện đề tài
Chương 2: Cơ sở lý thuyết Trình bày tóm tắt lý thuyết về mô hình
ứng dụng web, ngôn ngữ lập trình PHP, ngôn ngữ Javascript, CSS,
Jquery, Ajax và hệ quản trị cơ sở dữ liệu Oracle đa phương tiện
Chương 3: Nội dung và kết quả nghiên cứu Mô tả, phân tích hệ
thống“Hệ thống quản lý các cơ sở giáo dục” và thiết kế chương
trình ứng dụng
Chương 4: Kết luận và hướng phát triển Trình bày kết quả đạt
được cũng như hạn chế và khó khăn trong quá trình thực
hiện.Đồng thời nêu lên hướng phát triển chung cho đề tài
Trang 14The system is built in the form website, programming language PHP is used mainly and combination with HTML, CSS, Javascript, … and Database management system Oracle Multimedia
The project is including 4 chapters:
Chapter one: Generally Introduce the problem to be solved, the purpose, range of problem Also, it tells about plan and method
Chapter two: Theory Brief presentation theoretical of the model web
applications PHP programming language, Javascript language, CSS, jQuery, Ajax, and Database management system Oracle Multimedia
Chapter three: Content Description and analyze system
“Management system educational facilities” and design application
program
Chapter four: In conclusion and development It presents about result,
limit and difficult during process Also, it tells about development way
in the future
Trang 15CHƯƠNG 1 TỔNG QUAN
Đứng trước sự phát triển vượt bậc của công nghệ thông tin, Việt Nam đang ngày càng quan tâm đầu tư cũng như quyết tâm đẩy mạnh ứng dụng công nghệ thông tin trên mọi mặt đời sống kinh tế, chính trị, xã hội, trong đó có giáo dục Nó không chỉ giúp con người giải quyết dễ dàng, thuận tiện các công việc phức tạp và đòi hỏi độ chính xác cao, mà còn giúp con người giảm được thời gian tìm kiếm, tra cứu thông tin góp phần thúc đẩy sự phát triển kinh tế xã hội và nâng cao chất lượng cuộc sống
Nắm bắt được tình hình đó xây dựng một website để giới thiệu về các cơ
sở giáo dục là hết sức cần thiết, đề tài xây dựng “Hệ thống quản lý các cơ sở giáo dục” nhằm góp phần mang đến những thông tin của các trường, các cơ sở
giáo dục trong phạm vi cả nước đến người dùng, những người có nhu cầu tìm hiểu thông tin về các cơ sở giáo dục
Xây dựng một “Hệ thống quản lý các cơ sở giáo dục” nhằm đáp ứng
nhu cầu quản lý cơ bản sau:
Quản lý địa chỉ của các cơ sở giáo dục
Quản lý thông tin “mở” các cơ sở giáo dục của nước ta
Quản lý báo cáo thống kê
Hỗ trợ tìm kiếm thông tin
Nếu người dùng đăng nhập vào hệ thống thì tùy từng người dùng mà có chức năng khác nhau
Tìm kiếm thông tin của các cơ sở giáo dục thông qua bản đồ
Trang 16 Tìm kiếm video
Tìm kiếm hình ảnh
Xem thông tin về cơ sở giáo dục mà mình muốn xem
Xem video hoặc hình ảnh của cơ sở giáo dục
Xem các báo cáo, thống kê
Bổ sung thông tin cho cơ sở giáo dục
Người dùng là người thuộc phòng giáo dục của một huyện :
Tìm kiếm một cơ sở giáo dục thông qua bản đồ
Tìm kiếm video
Tìm kiếm hình ảnh
Xem chi tiết thông tin của cơ sở giáo dục
Thêm thông tin cho cơ sở giáo dục thuộc huyện mà người dùng đang công tác
Thêm video hoặc hình ảnh cho cơ sở giáo dục thuộc huyện mà người dùng đang công tác
Sửa thông tin cơ sở giáo dục thuộc huyện mà người dùng đang công tác nếu như thông tin ấy đã được nhập trước đó bởi một người dùng khác
Xóa một cơ sở giáo dục ở tỉnh
Xem các báo cáo, thống kê
Tìm kiếm một cơ sở giáo dục thông qua bản đồ
Tìm kiếm video
Tìm kiếm hình ảnh
Xem chi tiết thông tin của cơ sở giáo dục
Trang 17 Thêm thông tin cho cơ sở giáo dục thuộc tỉnh mà người dùng đang công tác
Thêm video hoặc hình ảnh cho cơ sở giáo dục thuộc tỉnh mà người dùng đang công tác
Sửa thông tin cơ sở giáo dục thuộc tỉnh mà người dùng đang công tác nếu như thông tin ấy đã được nhập trước đó bởi một người dùng khác
Xóa một cơ sở giáo dục ở tỉnh
Xem các báo cáo, thống kê
Tìm kiếm một cơ sở giáo dục thông qua bản đồ
Tìm kiếm video
Tìm kiếm hình ảnh
Xem chi tiết thông tin của cơ sở giáo dục
Thêm thông tin cho cơ sở giáo dục thuộc phường xã mà người dùng đang công tác
Thêm video hoặc hình ảnh cho cơ sở giáo dục thuộc phường xã
mà người dùng đang công tác
Bổ sung thông tin cơ sở giáo dục thuộc phường xã mà người dùng đang công tác nếu như thông tin ấy đã được nhập trước đó bởi một người dùng khác
Xóa một cơ sở giáo dục tai phường xã đó
Xem các báo cáo, thống kê
Người dùng là quản trị hệ thống
Quản lý danh mục địa phương
Trang 18 Cập nhật quận huyện
Cập nhật tỉnh thành phố
Quản lý danh mục cấp bậc
Cập nhật danh mục loại trường
Cập nhật danh mục cấp của trường
Cập nhật danh mục các cơ quan giáo dục
Cập nhật danh mục các ngành đào tạo
Quản lý danh mục người dùng
Danh sách cán bộ thuộc phòng giáo dục huyện có đăng ký làm thành viên
Danh sách cán bộ thuộc sở giáo dục tỉnh có đăng ký làm thành viên
Danh sách những thành viên bình thường không thuôc hai nhóm trên
Xác nhận thông tin người dùng
ĐỀ
1.4.1 Phương pháp nghiên cứu vấn đề
Phân tích yêu cầu bài toán
Phân quyền hệ thống để biết người nào có quyền nhập thông tin cho các cơ sở giáo dục, người nào chỉ có quyền xem, tìm kiếm thông tin về các cơ sở giáo dục
Xây dựng hệ thống cho người dùng nhập vào thông tin cho các cơ
sở giáo dục
Xây dựng bản đồ hiển thị các cơ sở giáo dục được nhập vào
Trang 19 Xây dựng chức năng tìm kiếm các cơ sở giáo dục thông qua bản
Thiết kế lưu đồ dòng dữ liệu DFD
Thiết kế giao diện và lập trình chức năng
Sử dụng công cụ hỗ trợ lập trình Adobe Dreamweaver CS6 để lập trình PHP với Javascript, CSS, HTML,…
Sử dụng hệ quản trị cơ sở dữ liệu Oracle đa phương tiện để tạo cơ
Sửa lỗi nếu có sai sót
1.4.2 Hướng giải quyết vấn đề
Tìm hiểu,thu thập thông tin để phân tích thiết kế hệ thống
Lập các mô hình CDM, LDM, PDM, DFD dựa trên các thông tin
đã thu thập và phân tích
Tạo cơ sở dữ liệu sử dụng hệ quản trị cơ sở dữ liệu Oracle đa
Trang 20 Xây dựng trang web với ngôn ngữ PHP
Bảng 1: Kế hoạch thực hiện đề tài
1 1 Tìm hiểu cơ cấu giáo dục ở nước ta
2 Tìm hiểu về hệ quản trị Oracle đa phương tiện
2 3,4 Phân tích yêu cầu bài toán
3 5,6,7 Thiết kế các mô hình CDM, LDM, PDM, DFD
4 8,9,10,11,12,13 Thiết kế giao diện và lập trình các chức năng
5 14,15 Chạy, kiểm thử và sửa lỗi
Trang 21CHƯƠNG 2
CƠ SỞ LÝ THUYẾT
Chương này tập trung giới thiệu về cơ cấu giáo dục của nước ta, và giới thiệu các công nghệ có sử dụng nhằm giải quyết vấn đề bài toán đã đặt ra
Các cấp học và trình độ đào tạo của hệ thống giáo dục quốc dân
bao gồm:
Giáo dục mầm non có nhà trẻ và trường mẫu giáo
Giáo dục phổ thông, có 3 cấp học:tiểu học, trung học
cơ sở, trung học phổ thông;
Giáo dục nghề nghiệp, gồm 3 trình độ: sơ cấp, trung
Trang 22Mô hình ứng dụng web là mô hình ứng dụng xây dựng dưới dạng server
client-Kiến trúc client-server được sử dụng trong các hệ thống phân tán và bao gồm hai thành phần riêng biệt: server đóng vai trò phục vụ cung cấp chức năng, và client trong vai trò người tiêu thụ sử dụng các chức năng đó.Thông thường,hai thành phần này kết nối với nhau qua mạng, với client là bên chủ động tạo kết nối và gửi yêu cầu đến server, trong khi server thụ động lắng nghe và hồi đáp các yêu cầu Mô hình client-server đơn giản nhất gồm một server phục vụ cho một hoặc nhiều client đồng thời, còn gọi là kiến thức hai lớp
Các ưu điểm của kiến trúc client-server:
Quản lý tập trung: Dữ liệu được lưu trữ tập trung trên server thay
vì nằm rải rác trên nhiều máy, giúp đơn giản hóa việc truy xuất và cập nhật dữ liệu
Dễ bảo trì: Nhờ khả năng quản lý tập trung mà công việc bảo trì
cũng trở nên nhẹ nhàng hơn vì phần lớn việc bảo trì chỉ cần thực hiện trên server Trong trường hợp hệ thống có nhiều server với thiết bị dự phòng, quá trình bảo trì có thể diễn ra hoàn toàn trong suốt với phía client
Bảo mật: Dữ liệu tập trung trên server đồng nghĩa với việc kiểm soát dễ dàng hơn
Hình 2.Mô hình ứng dụng Web (Nguồn: http://phamvphu.blogspot.com/2013/05/session-va-cookie.html)
Trang 232.3 GIỚI THIỆU VỀPHP
2.3.1 Tổng quan về PHP
PHP(Hypertext Preprocessor) là ngôn ngữ kịch bản mã nguồn mở được
sử dụng để phát triển các ứng dụng viết cho máy chủ, thích hợp cho việc phát triển web và có thể nhúng vào tài liệu HTML
PHP được ra đời vào khoảng năm 1994 do Rasmus Lerdorf khai sinh và sau đó nó tiếp tục được phát triển bởi nhiều cá nhân, tổ chức khắp nơi trên thế giới.Vì vậy PHP được xem là một sản phẩm mã nguồn mở
PHP đượ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 gọ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
Hình 3 Cơ chế tương tác từ người dùng đến web server (Nguồn: http://phamvphu.blogspot.com/2013/05/session-va-cookie.html)
2.3.2 Ưu điểm tiêu biểu của ngôn ngữ PHP
PHP là một sản phẩm mã nguồn mở nên việc cài đặt PHP là miễn phí, tự
do
PHP thực hiện với tốc độ rất nhanh và hiệu quả Một server bình thường
có thể đáp ứng được hàng triệu truy cập đến trong một ngày
Đa môi trường hoạt động:
Trang 24 Web Server:Apache, Microsoft IIS, Caudium, Netscape Enterprise Server
Hệ điều hành: UNIX(HP-UX, OpenBSD, Solaris,Linux), Mac OSX, Windows NT/98/2000/XP/2003/Vista
Hệ QTCSDL:Adabas D, dBase, Empress, FilePro (read only), Hyperwave, IBM DB2, Informix, Ingres, InterBase, ForntBase, mSQL, Direct MS-SQL, MYSQL, ODBC, Oracle (OCI7, OCI8), Ovrimos, PostgreSQL, SQLite, Solid, Sysbase, Velocis, Unix dbm
2.3.3 Tìm hiểu về Session và Cookie
Để bắt đầu một session ta sử dụng cú pháp: session_start()
Đoạn code này phải được nằm trên các kịch bản HTML hoặc những lệnh echo, printf trong php
Để thiết lập một giá trị session, ngoài việc cho phép bắt đầu thực thi session Chúng ta còn phải đăng ký một giá trị session với cú pháp:
session_register(“Name”)
<?php session_start();?>
Sử dụng giá trị của session
Để sử dụng giá trị của session ta sử dụng mã lệnh sau:
Cú pháp: $_SESSION[“TEN_DANGNHAP”]
Với name là tên của session mà bạn đã tạo ra trước đó, mặc định khi bạn gán nội dung vào một biến session là đã đăng ký tên session đó
Trang 25 Hủy bỏ session
Để hủy sessiob chúng ta gọi hàm unset(tên biến) hoặc session_destroy()
Cho phép hủy bỏ toàn bộ giá trị của session Cú pháp: session_destroy()
Cho phép hủy bỏ session Cú pháp: unset(tên biến)
Include: Đặt file vào ngay vị trí câu lệnh Nếu tìm không thấy file,
chương trình hiện cảnh báo nhưng vẫn tiếp tục thực thi các câu lệnh sau include Cú pháp: <?php include(“filename”);?>
Require: Thực thi giống include, nhưng khi không tìm thấy file
chương trình sẽ không tiếp tục thực thi các câu lệnh tiếp theo Cú pháp: <?php require(“filename”);?>
Include_once và Require_once: Tương tự như include và require
nhưng nó chỉ cho phép file chèn vào trang web một lần Cú pháp:
<?php require_once(“filename”);?> và <?php include_once(“filename”);?>
Ví dụ: Để sử dụng lại mã PHP trong trang tienich.php, là trang để lưu các select box được lấy ra từ cơ sở dữ liệu chèn vào trang them_coso.php:
<?php include(“tienich.php”)?>
2.3.5 Tìm hiểu phương thức POST và GET
Phương thức POST
Trang 26Phương thức POST được sử dụng để lấy dữ liệu từ form nhập liệu Và chuyển chúng lên trình chủ webserver
POST lấy thông tin từ các input đầu vào trong form như text, textarea, checkbox, radiobox,…
Cú pháp: $_POST[“tên của input trong form”]
Ví dụ: Để lấy thông tin từ input trong trang them_toado.php để lưu vào
cơ sở dữ liệu:
$ten_coso=$_POST[‘txtTenCoSo’];
Phương thức GET
Phương thức GET được sử dụng để lấy dữ liệu từ form nhập liệu
Cú pháp: $_GET[“giá trị trên url”]
Sự giống nhau và khác nhau giữa phương thức POST và GET
Đối với những dữ liệu luôn thay đổi thì chúng ta nên sử dụng phương thức POST, còn dữ liệu ít thay đổi chúng ta dùng phương thức GET để truy xuất và xử lý nhanh hơn
Trang 27CSS quy định cách hiển thị nội dung của các thẻ HTML trên các trình duyệt gần như giống nhau, bằng cách quy định các thuộc tính cho thẻ HTML
đó
2.4.2 Cú pháp tạo CSS
Cú pháp CSS gồm 3 phần: phần thẻ chọn (selector), phần thuộc tính (property) và phần giá trị (value)
Hình 4 Cú pháp tạo css
(Nguồn: http://phamkhuongpro.xtgem.com/Laptrinhweb/CSS/index)
Trong đó:
Phần thẻ chọn (selector): thường là các thành phần/thẻ HTML
Trang 28Phần thuộc tính (property): là thuộc tính muốn thay đổi, mỗi thuộc tính
có thể mang 1 giá trị
Thuộc tính và giá trị được ngăn cách bởi dấu “:” và được bao quanh dấu
ngoặc nhọn “{}”
2.4.3 Cú pháp sử dụng CSS
Có ba cách khác nhau để nhúng CSS vào trong một tài liệu HTML:
Cách 1: Nội tuyến (kiểu thuộc tính) là kiểu được gán trực tiếp cho
một phần tử nào đó.Kiểu này không áp dụng vào tất cả các phần tử thuộc một loại nào hay một lớp nào đó.Kiểu nội tuyến được định
nghĩa bằng thuộc tính STYLE đối với phần tử của thẻ đó Cú pháp:
<H1 style= “color:red”>Nội dung</H1>
Cách 2: Viết kịch bản dưới dạng bộ chọn (Selector) để định nghĩa
định dạng và áp dụng vào đối tượng HTML Một bộ chọn có cú pháp:
<Tên bộ chọn>
{
<Tên thuộc tính 1>:value;
<Tên thuộc tính 2>:value;…
Cách 3: Bên ngoài (liên kết với một file CSS bên ngoài) tương tự
như cách 2 nhưng thay vì tất cả các mã CSS trong thẻ style chúng ta
Trang 29sẽ đưa chúng vào trong một file CSS (có phần mở rộng css) bên ngoài và liên kết nó vào trang Web bằng thuộc tính href trong thẻ link Cú pháp:
<link rel= “stylesheet” text= “text/css” href= “style.css”/>
2.4.4 Ưu điểm của CSS
Kết hợp và làm tăng sức mạnh cho HTML
Có thể đặt các đối tượng ở bất cứ vị trí nào trên webpage
Tương thích với hầu hết các trình duyệt
Hỗ trợ cho việc in ấn webpage
Hỗ trợ tối đa việc tùy biến webpage
ra các mật khẩu bảo mật,…
Javascript là ngôn ngữ dựa trên đối tượng, tức là bao gồm nhiều kiểu đối tượng, ví dụ đối tượng Math với tất cả các chức năng toán học Tuy vậy, Javascript không là ngôn ngữ hướng đối tượng như C++ hay Java do không hỗ trợ các lớp hay tính thừa kế
Trang 30Javascript được thiết kế độc lập với hệ điểu hành có thể chạy trên bất kỳ
hệ điều hành nào có trình duyệt hỗ trợ Javascript
Javascript hoàn toàn khác với Java về cả mặt khái niệm lẫn thiết kế, Java được phát triển bởi Sun Microsystems và là một ngôn ngữ mạnh mẽ, và phức tạp hơn nhiều so với Javascript
Chúng ta có thể sử dụng Javascript để:
Tương tác với người dùng.Chúng ta có thể viết mã lệnh đáp lại các sự kiện.Các sự kiện này có thể phát sinh bởi người dùng, nhấp chuột hay được phát sinh từ hệ thống, định lại kích thước của trang,…
Thay đổi nội dung động.Mã Javasript có thể dùng để thay đổi nội dung và vị trí các phần tử một cách động trên một trang nhằm đáp ứng lại sự tương tác với người dùng
Kiểm tra tính hợp lệ dữ liệu.Chúng ta có thể viết mã nhằm kiểm tra tính hợp lệ của dữ liệu do người dùng nhập vào trước khi nó được gửi lên server để xử lý
Cú pháp:
< script language = “Javascript”>
Trang 31//Tất cả nội dung Javascript
</ script>
Cách 2: Sử dụng một file nguồn Javascript với thuộc tính src của thẻ
< script > cho phép bạn chỉ rõ file nguồn Javascript được sử dụng.Đó
là tập tin văn bản chứa các mã lệnh JavaScript, tên tập tin có phần mở rộng là “.js”
Cú pháp:
< script src= “file_name.js”>
…
</ script>
2.5.3 Ưu điểm của Javascript
Javascript giúp tạo hiệu ứng, tính toán, xử lý, thay đổi đối tượng trong tài liệu HTML một cách trực tiếp mà không cần tạo một kết nối đến máy chủ nào Javascript giúp tiết kiệm băng thông đáng kể vì giải quyết nhiều vấn đề trực tiếp từ máy khách
Javascript kiểm tra tính đúng đắn của dữ liệu, bắt các sự kiện và thay đổi cấu trúc tài liệu HTML
Nhiều công nghệ được phát triển dựa trên nền tảng của Javascript như jQuery, Ajax, DOM, JSP
2.5.4 Ứng dụng Javascript trong việc giải quyết bài toán
Sử dụng Javascript để bắt lỗi nhập thông tin của người dùng
Trang 322.6 GIỚI THIỆU VỀ JQUERY
Việc sử dụng jQuery giúp giải quyết tốt vấn đề xung đột giữa các trình duyệt web
Trang 33Sử dụng trực tiếp jQuery lưu trữ tại jQuery hay Google từ 2 địa chỉ sau:
http://code.jquery.com/jquery - 1.8.3.min.js
http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js
2.6.3 Ưu điểm của jQuery
jQuery được sử dụng nhiều trong thiết kế website bởi vì jQuery có những
ưu điểm sau:
Hỗ trợ tốt việc xử lý các vấn đề thường gặp (DOM, Ajax,…)
Tương thích với nhiều trình duyệt web phổ biến
Nhỏ gọn, dễ dùng, có nhiều tài liệu hướng dẫn sử dụng chi tiết
Ít xung khắc với các thư viện Javascript khác
Ajax là một kỹ thuật phát triển web có tính tương tác cao bằng cách kết hợp các ngôn ngữ:
Kết hợp với HTML (hoặc XHTML) và CSS trong việc hiển thị thông tin
Kết hợp với mô hình DOM (Document Object Model), được thực hiện thông qua Javascript nhằm hiển thị thông tin động và tương tác với những thông tin được hiển thị
Kết hợp với đối tượng XMLHttpRequest để trao đổi dữ liệu một cách không đồng bộ với máy chủ web
Trang 34 Kết hợp với XML thường là định dạng cho dữ liệu truyền, mặc dù bất cứ định dạng nào cũng có thể dùng, bao gồm HTML định dạng trước, văn bản thuần, JSON và ngay cả EBML
Hình 5 Sơ đồ miêu tả hoạt động của Ajax
(Nguồn: http://blog.bounceweb.com/advantages-of-using-ajax-in-your-website/)
2.7.2 Ưu điểm của Ajax
Ajax có những ưu điểm sau:
Trong nhiều trường hợp, các trang web chứa rất nhiều nội dung thông thường trong trang Nếu sử dụng các phương pháp truyền thống, những nội dung đó sẽ phải nạp lại toàn bộ với từng yêu cầu Tuynhiên, nếu sử dụng Ajax, một ứng dụng web có thể chỉ yêu cầu cho các nội dung cần thiết phải cập nhật do đó giảm lượng lớn băng thông và thời gian nạp trang
Ajax giúp việc thiết kế web đa dạng hơn và tăng tính tương tác của website với người dùng
Trang 35 Ajax sử dụng các công nghệ đã có sẵn nên dễ học và sử dụng
Nhờ tính phổ biến của Ajax đã khuyến khích việc phát triển các khuôn mẫu mà sẽ giúp lập trình viên tránh khỏi các vết xe đổ trước
Được hỗ trợ trong các trình duyệt phổ biến hiện nay
2.7.3 Ứng dụng Ajax trong giải quết vấn đề bài toán
Để quản lý các cơ sở giáo dục, cần lưu địa chỉ của cơ sở giáo dục ấy
Ở nước ta có đến 63 tỉnh thành, trong đó có rất nhiều quận huyện, xã phường vì thế để tạo ra một select box mà khi người dùng chọn thông tin của tỉnh thành phố, thì select box quận huyện sẽ tự động lọc dữ liệu chỉ hiện ra những quận huyện ở tỉnh mà người dùng lựa chọn
PHƯƠNG TIỆN
2.8.1 Giới thiệu về hệ quản trị cơ sở dữ liệu đa phương tiện
Một hệ quản trị cơ sở dữ liệu đa phương tiện là một cái khung
quản trị nhiều kiểu dữ liệu khác nhau
<script language="javascript">
$(document).ready(function() {
$('#slTinh').change(function() { id_tinh = this.value;
$('#shuyen').load('ajax.php?id_tinh=' + id_tinh);
});
});
</script>
Trang 36 Một hệ quản trị cơ sở dữ liệu đa phương tiện phải cung cấp một môi trường thích hợp cho việc sử dụng và quản trị dữ liệu đa phương tiện Do đó hệ quản trị cơ sở dữ liệu đa phương tiện phải hỗ trợ nhiều kiểu dữ liệu đa phương tiện cùng với những phương tiện
dễ dàng cho việc sử dụng cho việc thực hiện những chức năng của
một hệ quản trị cơ sở dữ liệu truyền thống
2.8.2 Kiến trúc của Oracle multimedia
Kiến trúc của Oracle đa phương tiện được giới thiệu trong hình 6 Dữ liệu multimedia được chia thành hai lớp là các dữ liệu liên tục và các dữ liệu không liên tục Các dữ liệu liên tục bao gồm các dữ liệu âm thanh, video thay đổi theo thời gian Các dữ liệu không liên tục là các dữ liệu không phục thuộc vào thời gian, các loại dữ liệu đặc trưng cho dạng này là các dữ liệu văn bản (có hoặc không có định dạng), hình ảnh tĩnh và các đối tượng đồ họa
Các kiểu dữ liệu thông thường của một CSDL multimedia bao gồm:
Dữ liệu văn bản (có hoặc không có định dạng)
Hình ảnh: là các hình ảnh được mã hóa sử dụng các dạng thức chuẩn như là JPEG hoặc MPEG
Âm thanh
Video
Các đặc tính chung của dữ liệu multimedia bao gồm:
+ Phi cấu trúc: Các dữ liệu multimedia có khuynh hướng phi cấu trúc vì
vậy các tác nghiệp quản trị dữ liệu chuẩn như chỉ số hoá, tìm kiếm nội dung, truy vấn dữ liệu thường là không áp dụng được
+ Tính tạm thời: Một vài kiểu dữ liệu multimedia như là video, âm thanh
và hoạt hình đều phụ thuộc vào yếu tố thời gian liên quan mật thiết đến việc lưu trữ, thao tác và mô tả chúng
+ Có dung lượng lớn: các dữ liệu video và âm thanh thường đòi hỏi các
thiết bị lưu trữ lớn
Trang 37+ Các ứng dụng hỗ trợ: các dữ liệu phi chuần có thể đòi hỏi các quy
trình xử lý phức tạp như việc sử dụng các thuật toán nén dữ liệuđối với các ứng dụng CSDL multimedia
Hình 6 Kiến trúc của Oracle Multimedia
(Nguồn: http://www.slideshare.net/thuymtg/bao-cao-csdldaphuongtien-1)
2.8.3 Những ưu điểm khi sử dụng cơ sở dữ liệu đa phương tiện
Có có đầy đủ các chứa năng của có sở dữ liệu truyền thống
Có khả năng lưu trữ dữ liệu lớn
Có khả năng truy xuất đồng nhất về mặt hình thức dữ liệu đa phương tiện và dữ liệu cổ điển được trình bày bằng những quy cách khác
nhau
Có khả năng truy vấn cùng một lúc các tài nguyên đa phương tiện khác nhau và mang cách làm cho cơ sở dữ liệu cổ điển hoạt động
sang cơ sở dữ liệu đa phương tiện
Có khả năng tìm lại được các đối tượng đa phương tiện từ các thiết
bị lưu trữ cục bộ bằng phương pháp liên tục
Có khả năng chuyển giao người dùng bản trình bày kết quả truy vấn
đáp ứng các nhu cầu về chất lượng phục vụ khác nhau
Trang 382.8.4 Các kiểu đối tượng đa phương tiện
Oracle Multimedia cung cấp 4 kiểu đối tượng quan hệ chính là:
ORDImage: sử dụng cho dữ liệu hình ảnh
ORDAudio: sử dụng cho dữ liệu âm thanh
ORDVideo: sử dụng cho dữ liệu phim ảnh
ORDDoc: sử dụng cho dữ liệu kết hợp
Các kiểu đối tượng này lưu thông tin nguồn dữ liệu trong kiểu đối tượng quan hệ ORDSource, có nghĩa là đối tượng ORDSource được nhúng bên trong các đối tượng này.Kiểu đối tượng ORDSource cung cấp các phương thức cho thao tác nguồn dữ liệu đa phương tiện, không sử dụng đối tượng ORDSource một cách trực tiếp mà phải thông qua một trong 4 kiểu đối tượng trên
2.8.5 Tạo bảng với kiểu dữ liệu đa phương tiện
Để tạo một bảng có cột chứa dữ liệu đa phương tiện chúng ta sử dụng lệnh CREATE TABLE như tạo bảng thông thường.Cột chứa dữ liệu đa phương tiện có thể là kiểu ORDImage, ORDAudio, ORDVideo, ORDDoc
Vi dụ: câu lệnh SQL sau tạo một bảng có tên là image có chứa kiểu dữ liệu ORDIMAGE
CREATE TABLE IMAGE (
MA_IMAGE NUMBER PRIMARY KEY,
MO_TA VARCHAR2(100) NOT NULL,
IMAGE ORDSYS.ORDIMAGE NOT NULL,
Trang 392.8.6 Truy xuất dữ liệu đa phương tiện
Để truy xuất các tập tin trong một thư mục trên đĩa của máy chủ CSDL
từ PL/SQL, chúng ta phải tạo một đối tượng thư mục trong CSDL trỏ đến thư mục Câu lệnh CREATE DIRECTORY được sử dụng để tạo một đối tượng thư mục trong CSDL
Ví dụ:
Câu lệnh: CREATE DIRECTORY MEDIA_DIR AS
'/home/oracle/media_dir'; sẽ tạo một đối tượng thư mục có tên là MEDIA_DIR
và chỉ đến thư mục /home/oracle/media_dir trên hệ thống tập tin của máy chủ CSDL
Để có thể ghi dữ liệu đa phương tiện từ CSDL vào một tập tin, chúng ta phải gán quyền ghi trên thư mục cho người sử dụng Ví dụ: lệnh sau gán quyền ghi cho người dùng (user) thao
GRANT WRITE ON DIRECTORY MEDIA_DIR TO thao;
Để tải dữ liệu đa phương tiện từ một tập tin vào CSDL, chúng ta phải gán quyền đọc trên thư mục chứa dữ liệu đa phương tiện cho người sử dụng tương ứng
GRANT READ ON DIRECTORY MEDIA_DIR TO thao;
2.8.7 Thêm dữ liệu đa phương tiện vào cơ sở dữ liệu bằng ngôn ngữ PHP
Viết một hàm để thêm dữ liệu đa phương tiện vào cơ sở dữ liệu hàm này nhận các giá trị đầu vào bao gồm chuỗi kết nối dữ liệu, các biến lưu thuộc tính không phải dạng đa phương tiện, biến lưu dữ liệu đa phương tiện và biến lưu loại của kiểu dữ liệu đa phương tiện
Bên trong hàm ta viết một khối lệnh PL/SQL để lưu các giá trị nhận vào trong cơ sở dữ liệu
Trang 40Ví dụ này bao gồm một câu truy vấn được dùng để đưa dữ liệu đa phương tiện vào trong các đối tượng Oracle Multimedia chưa có sẵn trong một bảng bằng cách thêm một dòng mới
2.8.8 Truy xuất dữ liệu đa phương tiện từ Oracle Multimedia
Viết câu lệnh truy vấn để lấy nội dung của hình ảnh đã thêm vào
$query= “select t.image.getContent() from hinh_anh t” ;
2.8.9 Kết hợp PHP và Oracle database
Kết nối cơ sở dữ liệu
Cú pháp:
$conn=oci_connect(“hostname”, “user”, “password”);
Thực thi câu truy vấn