LỜI NÓI ĐẦU
Lý do chọn đề tài
Dựa trên tình hình thực tế về việc quản lý thông tin về công tác giảng dạy cho giảng viên Khoa CNTT – Trường ĐH CNTT & TT. Việc theo dõi lịch giảng là một công việc thường xuyên của mỗi giảng viên. Hiện nay việc quản lý bằng file excel tải từ website của nhà trường là khó khăn, giao diện không trực quan. Chính vì vậy nhu cầu cần thiết một công cụ để hỗ trợ việc quản lý lịch giảng dạy là vô cùng cần thiết.
Bên cạnh đó việc sử dụng dữ liệu từ file excel là khó khăn để phát triển các ứng dụng hỗ trợ. Mục tiêu số hóa dữ liệu lịch giảng dạy của giảng viên bằng cơ sở dữ liệu nhằm mục đích cung cấp dữ liệu cho phát triển các ứng dụng sử dụng dữ liệu lịch giảng dạy của giảng viên.
Với mục tiêu và lý do như trên nên em chọn đề tài “Xây dựng hệ thống quản lý thông tin về công tác giảng dạy cho giảng viên Khoa CNTT – Trường ĐH CNTT & TT”.
Mục tiêu nghiên cứu
• Mục tiêu của đề tài là xây dựng ra hệ thống quản lý lịch dạy của giảng viên.
• Giúp giảng viên xem và cập nhật lịch cá nhân nhanh chóng tiện lợi.
• Thêm và phát triển một số tính năng vào lịch làm.
• Rèn luyện kĩ năng làm việc của bản thân.
LỜI CẢM ƠN
Trước tiên em xin gửi lời cám ơn chân thành sâu sắc tới các thầy cô giáo trong trường Đại học Công Nghệ Thông Tin Và Truyền Thông nói chung và các thầy cô giáo trong khoa Công Nghệ Thông Tin, bộ môn Công Nghệ Phần Mềm nói riêng đã tận tình giảng dạy, truyền đạt cho em những kiến thức, kinh nghiệm quý báu trong suốt thời gian qua.
Đặc biệt em xin gửi lời cảm ơn đến cô giáo ThS. Lê Nam Huy đã tận tình hướng dẫn, trực tiếp chỉ bảo em trong suốt thời gian làm thực tập tốt nghiệp. Trong thời gian làm việc với thầy, em không những tiếp thu thêm nhiều kiến thức bổ ích từ thầy mà còn học được tinh thần làm việc, thái độ tìm tìm hiểu học tập nghiêm túc, hiệu quả. Đây là những điều rất cần thiết cho em trong quá trình học tập và công tác sau này.
Em hi vọng trong quá trình tìm hiểu xây dựng đề tài có thể giúp bản thân có thêm nhiều kiến thức bổ ích phục vụ cho quá trình học tập và làm việc sau này. Trong quá trình làm đề tài còn nhiều thiếu xót và hạn chế em mong nhận được sự đóng góp ý kiến của quý thầy cô để em có thể hoàn thành tốt nhất mọi công việc.
Do thời gian hạn hẹp, mặc dù đã nỗ lực hết sức mình nhưng đề tài thực tập tốt nghiệp của em khó tránh khỏi những thiếu sót. Em rất mong nhận được những ý kiến đóng góp của quý Thầy Cô và các bạn để thực tập tốt nghiệp của em được hoàn thiện hơn.
Em xin chân thành cảm ơn!
LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi và được sự hướng dẫn khoa học của Ths. Lê Nam Huy. Các nội dung nghiên cứu, kết quả trong đề tài này là trung thực và chưa công bố dưới bất kỳ hình thức nào trước đây. Những số liệu trong các bảng biểu phục vụ cho việc phân tích, nhận xét, đánh giá được chính tác giả thu thập từ các nguồn khác nhau có ghi rõ trong phần tài liệu tham khảo.
Ngoài ra, trong luận văn còn sử dụng một số nhận xét, đánh giá cũng như số liệu của các tác giả khác, cơ quan tổ chức khác đều có trích dẫn và chú thích nguồn gốc.
Nếu phát hiện có bất kỳ sự gian lận nào tôi xin hoàn toàn chịu trách nhiệm về nội dung báo cáo thực tập của mình. Trường ĐH CNTT & TT không liên quan đến những vi phạm tác quyền, bản quyền do tôi gây ra trong quá trình thực hiện (nếu có).
Thái nguyên, ngày .... tháng .... năm 2017
Sinh viên
Lưu Văn Thắng
MỤC LỤC
DANH MỤC HÌNH ẢNH............................................................................................3
LỜI NÓI ĐẦU..............................................................................................................4
LỜI CẢM ƠN...............................................................................................................5
LỜI CAM ĐOAN.........................................................................................................6
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT.............................................................................7
1.1 CodeIgniter Framwork...........................................................................................7
1.2. Một số ngôn ngữ và công nghệ được sử dụng trong xây dựng chương trình....12
1.2.1. Ngôn ngữ HTML..............................................................................................12
1.2.2. Ngôn ngữ Javascript.........................................................................................14
1.2.3. Ngôn ngữ PHP..................................................................................................15
1.2.4. Hệ quản trị CSDL MySQL...............................................................................18
1.2.5. Công nghệ Responsive Boostrap.....................................................................19
1.2.6. Json...................................................................................................................22
CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ.....................................................................24
2.1 Giới thiệu công ty NGC Việt Nam.......................................................................24
2.2 Khảo sát hệ thống................................................................................................25
2.2.1 Thực trạng việc theo dõi lịch dạy của giảng viên.............................................25
2.2.2 Phần mềm quản lý lịch hiện nay.......................................................................25
2.2.3 Mô tả hệ thống...................................................................................................25
2.2.4 Một số bảng biểu kèm theo...............................................................................25
2.3 Mục tiêu của đề tài................................................................................................26
2.4 Các yêu cầu chức năng của hệ thống...................................................................26
2.5 Phân tích thiết kế..................................................................................................27
2.5.1 Biểu đồ Use case................................................................................................27
2.5.2 Biểu đồ cộng tác................................................................................................30
2.5.3. Biểu đồ cộng tác...............................................................................................34
2.5.4. Thiết kế cơ sở dữ liệu.......................................................................................34
2.5.5. Thiết kế API......................................................................................................35
CHƯƠNG 3: CÀI ĐẶT CHƯƠNG TRÌNH..............................................................36
3.1 Giao diện trang đăng nhập....................................................................................36
1
3.2 Giao diện trang import lịch giảng dạy..................................................................36
3.3 Giao diện trang xem lịch giảng dạy chi tiết.........................................................37
3.4 Giao diên trang thêm lịch dạy..............................................................................37
3.5 Ứng dụng sử dụng api – ICTU SOCIAL.............................................................38
KẾT LUẬN.................................................................................................................41
TÀI LIỆU THAM KHẢO..........................................................................................42
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN....................................................43
2
DANH MỤC HÌNH ẢNH
Hình 1.1 cấu trúc thư mục của CodeIgniter.................................................................9
Hình 1.2 cấu trúc của thư mục application..................................................................9
Hình 1. 3 Sơ đồ hoạt động mô hình MVC.................................................................11
Hình 1. 4 Giao diện sau khi cài đặt thành công CodeIgniter.....................................12
Hình 1.5 Cấu trúc thư mục của bootstrap..................................................................20
Hình 1.6 Ví dụ về Bootstrap.......................................................................................21
Hình 1.7 Ví dụ về Bootstrap.......................................................................................22
Hình 2.1: Lịch giảng dạy được sử dụng mẫu.............................................................26
Hình 2.2 Biểu đồ use case tổng quát..........................................................................27
Hình 2.3 Biểu đồ use case user..................................................................................28
Hình 2.4 Biểu đồ use case Admin..............................................................................29
Hình 2.5 Biểu đồ UC đăng nhập................................................................................30
Hình 2.6 Biểu đồ Use case import lịch giảng dạy.....................................................31
Hình 2.7 Biểu đồ Use case xem lịch giảng dạy.........................................................31
Hình 2.8 Biểu đồ trình tự đăng nhập..........................................................................32
Hình 2.9 Biểu đồ trình tự import lịch giảng dạy........................................................33
Hình 2.10 Biểu đồ trình tự xem lịch giảng dạy.........................................................33
Hinh 2.11 Biều đồ lớp................................................................................................34
Hinh 2.12 Thiết kế cơ sở dữ liệu................................................................................34
3
Hinh 2.13 Định dạng json trả về cho API..................................................................35
Hình 3.1 Giao diện trang đăng nhập..........................................................................36
Hình 3.2 Giao diện lịch dạy sắp tới............................................................................36
Hình 3.3 Giao diện trang xem lịch giảng dạy chi tiết................................................37
Hình 3.4 Giao diện thêm lịch dạy..............................................................................37
Hình 3.5 Giao diện đăng nhập ứng dụng TNU SOCIAL..........................................38
Hình 3.6 Giao diện lịch tháng của ứng dụng ICTU SOCIAL...................................39
Hình 3.7 Giao diện trang chủ ứng dụng ICTU SOCIAL...........................................39
Hình 3.8 Giao diện lịch ngày của ứng dụng ICTU SOCIAL....................................40
Hình 3.9 Thông báo của ứng dụng ICTU SOCIAL...................................................40
LỜI NÓI ĐẦU
Lý do chọn đề tài
Dựa trên tình hình thực tế về việc quản lý thông tin về công tác giảng dạy
cho giảng viên Khoa CNTT – Trường ĐH CNTT & TT. Việc theo dõi lịch giảng là
một công việc thường xuyên của mỗi giảng viên. Hiện nay việc quản lý bằng file
excel tải từ website của nhà trường là khó khăn, giao diện không trực quan. Chính
vì vậy nhu cầu cần thiết một công cụ để hỗ trợ việc quản lý lịch giảng dạy là vô
cùng cần thiết.
Bên cạnh đó việc sử dụng dữ liệu từ file excel là khó khăn để phát triển các
ứng dụng hỗ trợ. Mục tiêu số hóa dữ liệu lịch giảng dạy của giảng viên bằng cơ sở
dữ liệu nhằm mục đích cung cấp dữ liệu cho phát triển các ứng dụng sử dụng dữ
liệu lịch giảng dạy của giảng viên.
4
Với mục tiêu và lý do như trên nên em chọn đề tài “Xây dựng hệ thống
quản lý thông tin về công tác giảng dạy cho giảng viên Khoa CNTT – Trường
ĐH CNTT & TT”.
Mục têu nghiên cứu
Mục tiêu của đề tài là xây dựng ra hệ thống quản lý lịch dạy của giảng viên.
Giúp giảng viên xem và cập nhật lịch cá nhân nhanh chóng tiện lợi.
Thêm và phát triển một số tính năng vào lịch làm.
Rèn luyện kĩ năng làm việc của bản thân.
5
LỜI CẢM ƠN
Trước tiên em xin gửi lời cám ơn chân thành sâu sắc tới các thầy cô giáo
trong trường Đại học Công Nghệ Thông Tin Và Truyền Thông nói chung và các
thầy cô giáo trong khoa Công Nghệ Thông Tin, bộ môn Công Nghệ Phần Mềm nói
riêng đã tận tình giảng dạy, truyền đạt cho em những kiến thức, kinh nghiệm quý
báu trong suốt thời gian qua.
Đặc biệt em xin gửi lời cảm ơn đến cô giáo ThS. Lê Nam Huy đã tận tình
hướng dẫn, trực tiếp chỉ bảo em trong suốt thời gian làm thực tập tốt nghiệp. Trong
thời gian làm việc với thầy, em không những tiếp thu thêm nhiều kiến thức bổ ích từ
thầy mà còn học được tinh thần làm việc, thái độ tìm tìm hiểu học tập nghiêm túc,
hiệu quả. Đây là những điều rất cần thiết cho em trong quá trình học tập và công tác
sau này.
Em hi vọng trong quá trình tìm hiểu xây dựng đề tài có thể giúp bản thân có
thêm nhiều kiến thức bổ ích phục vụ cho quá trình học tập và làm việc sau này.
Trong quá trình làm đề tài còn nhiều thiếu xót và hạn chế em mong nhận được sự
đóng góp ý kiến của quý thầy cô để em có thể hoàn thành tốt nhất mọi công việc.
Do thời gian hạn hẹp, mặc dù đã nỗ lực hết sức mình nhưng đề tài thực tập
tốt nghiệp của em khó tránh khỏi những thiếu sót. Em rất mong nhận được những ý
kiến đóng góp của quý Thầy Cô và các bạn để thực tập tốt nghiệp của em được
hoàn thiện hơn.
Em xin chân thành cảm ơn!
6
LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi và được sự
hướng dẫn khoa học của Ths. Lê Nam Huy. Các nội dung nghiên cứu, kết quả
trong đề tài này là trung thực và chưa công bố dưới bất kỳ hình thức nào trước đây.
Những số liệu trong các bảng biểu phục vụ cho việc phân tích, nhận xét, đánh giá
được chính tác giả thu thập từ các nguồn khác nhau có ghi rõ trong phần tài liệu
tham khảo.
Ngoài ra, trong luận văn còn sử dụng một số nhận xét, đánh giá cũng như số
liệu của các tác giả khác, cơ quan tổ chức khác đều có trích dẫn và chú thích nguồn
gốc.
Nếu phát hiện có bất kỳ sự gian lận nào tôi xin hoàn toàn chịu trách nhiệm về
nội dung báo cáo thực tập của mình. Trường ĐH CNTT & TT không liên quan đến
những vi phạm tác quyền, bản quyền do tôi gây ra trong quá trình thực hiện (nếu
có).
Thái nguyên, ngày .... tháng .... năm 2017
Sinh viên
Lưu Văn Thắng
7
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
1.1 CodeIgniter Framwork
CodeIgniter là nền tảng ứng dụng web nguồn mở được viết bằng ngôn ngữ
PHP bởi Rick Ellis. Phiên bản đầu tiên được phát hành vào ngày 28/02/2006. Hiện
tại CodeIgniter đang được phát triển bởi ExpressionEngine Development Team
thuộc EllisLab, Inc.
Những điểm nổi bật
-
Được thiết kế theo mô hình MVC (Model-View-Controller): mô hình
MVC giúp tách thành phần hiển thị giao diện (presentation) và xử lý (business
logic) của một phần mềm thành các phần độc lập, từ đó giúp cho việc thiết kế web,
xử lý và bảo trì mã nguồn dễ dàng, đồng thời tăng khả năng mở rộng của phần
mềm. CodeIgniter vận dụng mô hình này trong thiết kế, giúp tách biệt các tập tin
giao diện với các tập tin xử lý dữ liệu, nâng cao khả năng xử lý và bảo trì.
- Tốc độ nhanh : CodeIgniter được đánh giá là PHP Framework có tốc độ
nhanh nhất hiện nay. Bằng cơ chế lưu nội dung vào bộ đệm (cache), kiểm tra bộ
đệm trước khi tiến hành thực hiện yêu cầu, CodeIgniter giảm số lần truy cập và xử
lý dữ liệu, từ đó tối ưu hoá tốc độ tải trang.
- Miễn phí : CodeIgniter được phát hành dưới giấy phép Apache/BSD mở
rộng, cho phép người dùng tự do thay đổi, phát triển và phân phối mã nguồn.
-
Hỗ trợ Search Engine Optimization : Cấu trúc URL của CodeIgniter rất
thân thiện với các Robot tìm kiếm.
- Hệ thống thư viện phong phú : CodeIgniter cung cấp những thư viện phục
vụ cho những tác vụ thường gặp nhất trong lập trình web, chẳng hạn như truy cập
cơ sở dữ liệu, gửi email, kiểm tra dữ liệu, quả lý session, xử lý ảnh,… đến những
chức năng nâng cao như XML-RPC, mã hoá, bảo mật,…
- Bảo mật hệ thống : cơ chế kiểm tra dữ liệu chặt chẽ, ngăn ngừa XSS và
SQL Injection của CodeIgniter giúp giảm thiểu các nguy cơ bảo mật cho hệ thống.
Những điểm hạn chế
-
Chưa hỗ trợ Object-Relational Mapping (ORM) : ORM là một kỹ thuật
lập trình, trong đó các bảng của cơ sở dữ liệu được ánh xạ thành các đối tượng trong
8
lập trình. Kỹ thuật này giúp cho việc thực hiện các thao tác trong cơ sở dữ liệu
(Create Read UpdateDelete – CRUD) dễ dàng, mã nguồn ngắn gọn hơn.
-
Chưa hỗ trợ AJAX (Asynchronous Javascrip and XML) : AJAX đã trở
thành một phần không thể thiếu trong bất kỳ ứng dụng web 2.0 nào. AJAX giúp
nâng cao tính tương tác giữa người dùng và hệ thống, giúp cho người dùng có cảm
giác như đang sử dụng desktop vì các thao tác đều diễn ra tức thời. Hiện tại,
CodeIgniter vẫn chưa có thư viện dựng sẵn nào hỗ trợ xây dựng ứng dụng AJAX.
Lập trình viên phải sử dụng các thư viện bên ngoài, như JQuery, Script.aculo.us,
Prototype, hay Mootools,…
-
Chưa hỗ trợ một số module thông dụng : So với các framework khác,
CodeIgniter không có các module thực thi một số tác vụ thường gặp trong quá trình
xây dựng ứng dụng web như Chứng thực người dùng (User Authorization), trình
phân tích RSS (RSS Parser) hay trình xử lý PDF,…
- Chưa hỗ trợ Event Driver Programming – EDP : EDP là một nguyên lý lập
trình, trong đó các luồng xử lý của hệ thống sẽ dựa vào các sự kiện, chẳng hạn như
click chuột, gõ bàn phím,… Đây không phải là một khuyết điểm lớn của
CodeIgniter vì hiện tại chỉ có một số ít Framework hỗ trợ EDP bao gồm Prado,
QPHP, Yii.
Cấu trúc thư mục CodeIgniter
Sau khi tải và giải nén CodeIgniter, bạn có thể thấy các files và thư mục sau :
application: Chứa source của ứng dụng.
o cache: chứa các file cache.
o config: chứa các file config của ứng dụng.
o controllers: chứa các file controller của ứng dụng.
o core: nếu muốn custom core của CI thì ta đặt tại đây.
o helpers: chứa các helper của ứng dụng.
o hooks: cơ chế hooks
o language: chứa các ngôn ngữ của ứng dụng.
o libraries: chứa các thư viện thêm vào.
o logs: lưu logs.
9
o models: chứa models của ứng dụng.
o third_party: chứa các thư viện ngoài CI.
o views: chứa views của ứng dụng.
system: chứa source của CI.
o core: bộ core của CI.
o database: các lớp xử lý database.
o fonts: chứa các kiểu font.
o helpers: các helper có sẵn của CI.
o language: ngôn ngữ cho thông báo có sẵn của CI.
o libraries: các thư viện có sẵn của CI.
user_guide: thư mục tài liệu hướng dẫn của CI.
index.php: mọi request đều chạy qua file này.
Hình 1.1 cấu trúc thư mục của CodeIgniter
10
Hình 1.2 cấu trúc của thư mục application
Kiến trúc CodeIgniter
CodeIgniter hoạt động theo mô hình MVC
- Mô hình này chia ứng dụng ra làm 3 phần chính:
• Model
• View
• Controller
- MVC là một mô hình trong lập trình, cho phép tách biệt các mã nghiệp vụ
và giao diện thành cách thành phần riêng biệt..
- MVC chia nhỏ quá trình xử lý của một ứng dụng, giúp người lập trình làm
việc trên từng thành phần riêng lẻ, không ảnh hưởng đến các thành phần khác giúp
phát triển ứng dụng nhanh, đơn giản, dễ nâng cấp.
Mô hình mvc
Model:
Model được giao nhiệm vụ cung cấp dữ liệu cho cơ sở dữ liệu và lưu dữ liệu
vào các kho chứa dữ liệu. Tất cả các nghiệp vụ logic được thực thi ở Model. Dữ liệu
vào từ người dùng sẽ thông qua View đến Controller và được kiểm tra ở Model
trước khi lưu vào cơ sở dữ liệu. Việc truy xuất, xác nhận, và lưu dữ liệu là một phần
của Model.
View:
11
View hiển thị các thông tin cho người dùng của ứng dụng và được giao
nhiệm vụ cho việc nhận các dữ liệu vào từ người dùng, gửi đi các yêu cầu đến
controller, sau đó là nhận lại các phản hồi từ controller và hiển thị kết quả cho
người dùng.
Trong các web framework, nó gồm 2 phần chính:
+ Template file định nghĩa cấu trúc và cách thức trình bày dữ liệu cho user,
ví dụ như layout, color, windows …
+ Logic xử lý cách áp dụng dữ liệu vào cấu trúc trình bày. Logic này có thể
bao gồm việc kiểm tra định dạng dữ liệu, chuyển đổi định dạng dữ liệu sang một
sạng dữ liệu trung gian, lựa chọn một cấu trúc hiện thị phù hợp.
12
Controller:
Controller đảm nhiệm việc cập nhật bộ phận hiển thị (View) khi cần thiết. Bộ
điều khiển này nhận dữ liệu nhập từ người dùng, truy xuất các thông tin cần thiết từ
mô hình trong (Model), và cập nhật thích hợp phần hiển thị (View). Giao diện với
người sử dụng phần mềm được thiết lập nhờ sự tương tác qua lại giữa View và
Controller: hai bộ phận này chính là phần trình bày bên ngoài của đối tượng biểu
diễn bên trong.
Hình 1. 3 Sơ đồ hoạt động mô hình MVC
Cài đặt CodeIgniter
Yêu cầu hệ thống :
Hệ điều hành Windown hoặc Linux
Hệ quản trị CSDL MySQL
Chuẩn bị cài đặt
Dowload phiên bản mới nhất tại địa chỉ:
https://www.codeigniter.com/download
- Giải nén, cho vào thư mục của web server
13
- Truy cập thông qua web browser
Sau khi cài đặt thành công truy cập vào đường dẫn như hình
Hình 1. 4 Giao diện sau khi cài đặt thành công CodeIgniter
1.2. Một sốố ngốn ngữ và cống nghệ đ ược s ử d ụng trong xây d ựng ch ương
trình
1.2.1. Ngôn ngữ HTML
HTML (viết tắt từ HyperText Markup Language) là một ngôn ngữ đánh dấu
siêu văn bản, được thiết kế ra để xây dựng các trang web.Vậy thế nào là ngôn ngữ
đánh dấu siêu văn bản? Ta hãy cùng xem xét từng khía cạnh một:
Siêu văn bản (HyperText): Như ta đã biết, liên kết siêu văn bản là một từ hay
một câu trong trang Web dùng để chỉ đến trang Web khác. Khi nhấn chuột lên một
trong các liên kết này, trình duyệt web (như Netscape Navigator hoặc Internet
Explorer) sẽ đưa ta tức khắc đến trang Web kia mà không cần hỏi han gì. Vì những
liên kết siêu văn bản này thật sự là tính năng đặc trưng của World Wide Web, các
trang Web thường được biết như là những tài liệu siêu văn bản. Vì thế, HTML có từ
siêu văn bản trong tên của nó.
Đánh dấu (Markup): Có từ điển định nghĩa markup là các chỉ dẫn chi tiết về
kiểu dáng được ghi trên bản viết tay để xếp chữ in. Như vậy, chúng ta có thể hiểu đó
là các lệnh chi tiết về kiểu dáng được đánh vào tài liệu văn bản để đưa lên WWW.
14
Nói chung, HTML tồn tại như là các tập tin văn bản chứa trên các máy tính
nối vào mạng Internet. Các file này có chứa thẻ đánh dấu và thường được truyền đi
trên mạng internet thông qua giao thức mạng HTTP. Sau đó thì phần HTML của
chúng sẽ được hiển thị thông qua một trình duyệt web, một loại phần mềm trực
quan đảm nhiệm công việc đọc văn bản của trang cho người sử dụng.
Cấu trúc của một tài liệu HTML
Các tập tin HTML luôn bắt đầu bằng thẻ .Thẻ này không làm gì
khác ngoài nhiệm vụ báo cho trình duyệt Web biết rằng nó đang đọc một tài liệu có
chứa các mã HTML.Tương tự, dòng cuối trong tài liệu định dạng HTML luôn luôn
là thẻ , có tác dụng thông báo sự kết thúc của văn bản HTML với trình
duyệt.
Chi tiết kế tiếp trong catalog thẻ HTML dùng để chia tài liệu thành hai phần:
đầu và thân.
Phần đầu giống như lời giới thiệu cho trang. Các trình duyệt Web dùng phần
đầu này để thu nhặt các loại thông tin khác nhau về trang. Để xác định phần đầu, ta
sử dụng thẻ và thẻ ngay sau thẻ . Mặc dù ta có thể
đặt một số chi tiết bên trong phạm vi phần đầu này, nhưng phổ biến nhất là tên
trang. Nếu có ai đó xem trang này trong browser, thì tên trang sẽ xuất hiện trong dải
tên của cửa sổ browser. Để xác định tên trang, ta đặt đoạn văn bản tên đó giữa các
thẻ
và .
Phần thân là nơi nhập vào các văn bản sẽ xuất hiện trên trang Web lẫn các
thẻ khác quy định dáng vẻ của trang. Để xác định phần thân, ta đặt các thẻ
và sau phần đầu (dưới ).
Dưới đây là cấu trúc cơ bản của một trang web định dạng HTML:
tên trang
Các thẻ tiêu đề khác
Văn bản và các thẻ của trang Web
15
1.2.2. Ngôn ngữ Javascript
JavaScript là một ngôn ngữ lập trình kịch bản dựa trên đối tượng đượ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, nhưng cũng được dùng để tạo khả năng viết script sử dụng các đối tượng nằm
sẵn trong các ứng dụng. 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.
Javascript là ngôn ngữ dưới dạng script có thể gắn với các file HTML. Nó
không được biên dịch mà được chương trình duyệt diễn dịch.Không giống Java phải
chuyển thành mã để trình duyệt biên dịch, trình duyệt đọc Javascript dưới dạng mã
nguồn. Chính vì vậy, ta có thể dễ dàng học Javascript qua các ví dụ bởi ta có thể
thấy cách sử dụng Javascript trên các trang web.
Javascript có khả năng đáp ứng các sự kiện như tải hay loại bỏ các form.Khả
năng này cho phép Javascript trở thành ngôn ngữ script động.
Giống với HTML và Java, Javascript được thiết kế độc lập với hệ điều
hành.Nó có thể chạy trên bất kì hệ điều hành nào có hỗ trọ Javascript. Ngoài ra,
Javascript còn giống Java ở khía cạnh an ninh là không thể đọc và viết vào file của
người dùng.
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.
Hiện nay, JavaScript được sử dụng rất nhiều trong việc thiết kế trang web
động và một số hiệu ứng Hình ảnh thông qua DOM. Ngoài ra, JavaScript còn đượ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 thay đổi Hình ảnh,... Ở Việt Nam, JavaScript còn
được ứng dụng để làm bộ gõ tiếng Việt. 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.
16
17
1.2.3. 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.
Ngày nay, PHP đã được sử dụng rộng rãi và phổ biến nhất để xây dựng các
các trang web động. Chúng ta có thể thấy trên nhiều diễn đàn, các cổng thông tin
Portal, các website cá nhân được thiết kế bằng mã nguồn mở của PHP. Vì thế mà
PHP đang có một chỗ đứng vững chắc trong thế giới các ngôn ngữ lập trình web.
Xuất phát từ thực tế trên, đặc biệt là những ưu thế mà PHP đem lại, em đã
quyết định lựa chọn ngôn ngữ này để thực hiện đề tài xây dựng website du lịch mà
em đã nghiên cứu trong quá trình thực tập
a) Cú pháp căn bản của PHP
Như đã trình bày, PHP dựa trên cú pháp của ngôn ngữ lập trình C nên về cơ
bản cú pháp của nó tương tự như C. Ngoài ra, để lập trình bằng PHP ta cần lưu ý
mấy điểm sau:
Cuối mỗi câu lệnh phải có dấu ;
Biến trong PHP có tiền tố là $.
Khai báo biến không có kiểu dữ liệu.
Khai báo biến có phân biệt chữ hoa và chữ thường.
Nên có giá trị khởi tạo cho biến khai báo.
Mỗi phương thức đều được bắt đầu bằng dấu { và kết thúc bằng }.
Phải có ghi chú cho mỗi feature mới.
Để giải thích cho mỗi ghi chú ta dùng dấu // hoặc #.
Sử dụng /* để mở đầu và */ kết thúc cho mỗi đoạn ghi chú.
b) Kiểu dữ liệu
PHP hỗ trợ 8 kiểu dữ liệu chính:
18
4 kiểu dữ liệu vô hướng: boolean, integer, float (double), string.
2 kiểu dữ liệu tổ hợp: array, object.
2 kiểu dữ liệu đặt biệc: resource, NULL.
c) Biến
Một biến trong PHP được bắt đầu bằng ký tự $ và đi theo ngay sau đó là tên
của biến. Ví dụ: $a: biến có tên là a.
d) Câu lệnh
Do cú pháp của PHP dựa trên ngôn ngữ C nên các câu lệnh điều khiển của nó
cũng hoạt động tương tự như trong C. Các câu lệnh điều khiển trong PHP:
If (điều kiện) {câu lệnh;}
If (điều kiện) {câu lệnh;} else {câu lệnh;}
If (điều kiện) {câu lệnh;} elseif {câu lệnh;}
For (biểu thức 1; biểu thức 2; biểu thức 3) câu lệnh;
While (điều kiện)
Do … while (điều kiện)
Break
Continue
Switch (điều kiện)
{
case value1
câu lệnh 1;
break;
…
}
e) Hàm
Hàm do người dùng định nghĩa
Trong lập trình, có một số đoạn mã được dùng nhiều lần ở nhiều nơi khác
nhau trong chương trình. Sẽ rất phiền và khó sửa lỗi nếu như ta phải viết lặp đi lặp lại
1 đoạn mã đó ở nhiều nơi. PHP cung cấp một giải pháp đó là hàm do người dùng
19
định nghĩa. Ta có thể đưa đoạn mã đó vào trong 1 hàm, và ở chỗ nào cần dùng đoạn
mã đó ta chỉ cần gọi hàm, khi cần sửa đổi, ta chỉ cần sửa đổi 1 chỗ duy nhất là nội
dung của hàm chứ không cần phải sửa ở nhiều nơi trong chương trình.
Cú pháp để tạo 1 hàm do người dùng định nghĩa như sau:
function tênHàm($tham_số1, $tham_số2, ..., $tham _sốn) {
//thân hàm
echo "Testing";
return $kết_quả_trả_về;
} //end
Khi cần sử dụng hàm ở chỗ nào, ta chỉ cần dùng cú pháp tênHàm(các tham
số cần thiết);
Tham số của hàm
Hàm có thể nhận vào các tham số, ví dụ:
Ở ví dụ trên, lời gọi hàm testing(123); sẽ in ra dòng Tham số là 123 và lời
gọi hàm testing("abc"); sẽ in ra dòng Tham số là abc.
Khi tham số của hàm không được truyền, nó sẽ nhận giá trị mặc định. Ta có
thể gán giá trị mặc định cho tham số của hàm:
20
- Xem thêm -