BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG
——-o0o——-
ĐỒ ÁN TỐT NGHIỆP
NGÀNH CÔNG NGHỆ THÔNG TIN
Hải Phòng 2016
2
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG
——-o0o——-
XÂY DỰNG HỆ THỐNG THEO DÕI HOẠT ĐỘNG
HỌC TẬP VÀ GIẢNG DẠY TRONG
TRƢỜNG MẦM NON
ĐỒ ÁN TỐT NGHIỆP HỆ ĐẠI HỌC CHÍNH QUY
Ngành: Công nghệ Thông tin
Hải Phòng – 2016
3
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG
——-o0o——-
XÂY DỰNG HỆ THỐNG THEO DÕI HOẠT ĐỘNG
HỌC TẬP VÀ GIẢNG DẠY TRONG
TRƢỜNG MẦM NON
ĐỒ ÁN TỐT NGHIỆP HỆ ĐẠI HỌC CHÍNH QUY
Ngành: Công nghệ Thông tin
Sinh viên thực hiện: Lê Thị Thu Hiền
Giáo viên hướng dẫn: Đỗ Văn Chiểu
Mã số sinh viên: 1513101006
Hải Phòng – 2016
BỘ GIÁO DỤC VÀ ĐÀO TẠO
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG
Độc lập – Tự do – Hạnh phúc
——-o0o——-
NHIỆM VỤ THIẾT KẾ TỐT NGHIỆP
Sinh viên:
Lê Thị Thu Hiền
Mã số: 1513101006
Lớp: CTL901
Ngành: Công nghệ Thông tin
Tên đề tài: Xây dựng hệ thống theo dõi hoạt động học tập và giảng dạy trong trường
Mầm non.
5
NHIỆM VỤ ĐỀ TÀI
1. Nội dung và các yêu cầu cần giải quyết trong nhiệm vụ đề tài tốt nghiệp
a. Nội dung:
– Tìm hiểu về lập trình web trên nền tảng PHP/MySQL.
– Tìm hiểu bài toán quản lý học tập và giảng dạy ở trường mầm non Hướng
Dương.
– Xây dựng ứng dụng trên nền tảng web.
– Đưa ứng dụng lên Host, tương thích với các thiết bị di động.
b. Các yêu cầu cần giải quyết:
– Hiểu mục đích và cách thức thực hiện
– Xây dựng được ứng dụng để chạy thử nghiệm
2. Các số liệu cần thiết để thiết kế, tính toán
3. Địa điểm thực tập
6
CÁN BỘ HƢỚNG DẪN ĐỀ TÀI TỐT NGHIỆP
Ngƣời hƣớng dẫn thứ nhất:
Họ và tên:
Đỗ Văn Chiểu
Học hàm, học vị:
Thạc sĩ
Cơ quan công tác: Trường Đại học dân lập Hải Phòng
Nội dung hướng dẫn:
–
Tìm hiểu về lập trình web trên nền tảng PHP/MySQL.
–
Tìm hiểu bài toán quản lý học tập và giảng dạy ở trường mầm non.
–
Xây dựng ứng dụng.
–
Ứng dụng phải tương thích với các thiết bị di động.
Ngƣời hƣớng dẫn thứ hai:
Họ và tên: ……………………………………………………………………………………………
Học hàm, học vị……………………………………………………………………………………
Cơ quan công tác: ………………………………………………………………………………..
Nội dung hướng dẫn: ………………………………………………………………………………………………
………………………………………………………………………………………………………
Đề tài tốt nghiệp được giao ngày 03 tháng 10 năm 2016
Yêu cầu phải hoàn thành trước ngày 30 tháng 12 năm 2016
Đã nhận nhiệm vụ: Đ.T.T.N
Sinh viên
Đã nhận nhiệm vụ: Đ.T.T.N
Cán bộ hướng dẫn Đ.T.T.N
Hải Phòng, ngày …………tháng………năm 2016
Hiệu trưởng
GS.TS.NGƯT Trần Hữu Nghị
PHẦN NHẬN XÉT TÓM TẮT CỦA CÁN BỘ HƢỚNG DẪN
1.
Tinh thần thái độ của sinh viên trong quá trình làm đề tài tốt nghiệp:
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
2.
Đánh giá chất lượng của đề tài tốt nghiệp (so với nội dung yêu cầu đã đề
ra trong nhiệm vụ đề tài tốt nghiệp)
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
3.
Cho điểm của cán bộ hướng dẫn:
( Điểm ghi bằng số và chữ )
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
Ngày…….tháng………năm 2016
Cán bộ hướng dẫn chính
( Ký, ghi rõ họ tên )
PHẦN NHẬN XÉT ĐÁNH GIÁ CỦA CÁN BỘ CHẤM PHẢN BIỆN ĐỀ
TÀI TỐT NGHIỆP
1. Đánh giá chất lƣợng đề tài tốt nghiệp (về các mặt nhƣ cơ sở lý luận,
thuyết minh chƣơng trình, giá trị thực tế, …)
2. Cho điểm của cán bộ phản biện
( Điểm ghi bằng số và chữ )
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
Ngày…….tháng………năm 2016
Cán bộ chấm phản biện
( Ký, ghi rõ họ tên )
LÊ THỊ THU HIỀN – LỚP CTL901
6
LỜI CẢM ƠN
Trước tiên em xin được bày tỏ sự trân trọng và lòng biết ơn đối với thầy giáo,
Thạc sĩ Đỗ Văn Chiểu, giảng viên khoa Công nghệ thông tin – Trường Đại học Dân
lập Hải Phòng. Trong suốt thời gian học và làm đồ án tốt nghiệp, thầy đã dành rất
nhiều thời gian quý báu để tận tình chỉ bảo, hướng dẫn, định hướng cho em trong việc
nghiên cứu, thực hiện đồ án.
Em xin được cảm ơn các thầy cô giáo Trường Đại học Dân lập Hải phòng đã
giảng dạy em trong quá trình học tập, thực hành, làm bài tập, đọc và nhận xét đồ án
của em, giúp em hiểu thấu đáo hơn lĩnh vực mà em nghiên cứu, những hạn chế mà em
cần khắc phục trong việc học tập, nghiên cứu và thực hiện bản đồ án này. Xin cảm ơn
các bạn bè và nhất là các thành viên trong gia đình đã tạo mọi điều kiện tốt nhất, động
viên, cổ vũ em trong suốt quá trình học và làm đồ án tốt nghiệp.
Hải Phòng, tháng 12 năm 2016
Sinh viên
Lê Thị Thu Hiền
LÊ THỊ THU HIỀN – LỚP CTL901
7
MỤC LỤC
LỜI CẢM ƠN
……………………………………………………………………………………………………………
6
LỜI MỞ ĐẦU
……………………………………………………………………………………………………………
9
CHƢƠNG 1. INTERNET, WORLD WIDE WEB VÀ HTML
……………………………………
10
1. Khái niệm cơ bản về Internet ……………………………………………………………………………….
10
1.1 Giới thiệu chung
……………………………………………………………………………………………
10
1.2 Phân loại
………………………………………………………………………………………………………
10
2. World Wide Web ……………………………………………………………………………………………….
11
2.1 Các khái niệm cơ bản về World Wide Web
………………………………………………………
11
2.2 Cách tạo trang Web
……………………………………………………………………………………….
11
2.3 Trình duyệt Web (Web Client hay Web Browser)……………………………………………..
11
2.4 Webserver ……………………………………………………………………………………………………
12
2.5 Phân loại Web ………………………………………………………………………………………………
12
2.5.1 Web tĩnh ……………………………………………………………………………………………………
12
2.5.2 Website động
……………………………………………………………………………………………..
12
3. HTML ……………………………………………………………………………………………………………..
13
3.1 Cấu trúc chung của một trang HTML ………………………………………………………………
13
3.2 Các thẻ HTML cơ bản
……………………………………………………………………………………
13
CHƢƠNG 2. TỔNG QUAN NG N NGỮ PHP VÀ MYSQL …………………………………….
16
1. Ngôn ngữ PHP …………………………………………………………………………………………………..
16
1.1 Khái niệm PHP
……………………………………………………………………………………………..
16
1.2 Tại sao nên dùng PHP
……………………………………………………………………………………
16
1.3 Hoạt động của PHP ……………………………………………………………………………………….
17
1.4 Tổng quan về PHP ………………………………………………………………………………………..
18
1.4.1 Cấu trúc cơ bản ………………………………………………………………………………………….
18
1.4.2 Xuất giá trị ra trình duyệt …………………………………………………………………………….
18
1.4.3 Biến, hằng, chuỗi và các kiểu dữ liệu ……………………………………………………………
19
1.4.4 Các phương thức được sử dụng trong lập trình PHP ……………………………………….
21
1.4.5 Cookie và Session trong PHP ………………………………………………………………………
21
1.4.6 Hàm ………………………………………………………………………………………………………….
22
2. MySQL
……………………………………………………………………………………………………………..
23
2.1 Giới thiệu cơ sở dữ liệu
………………………………………………………………………………….
23
2.2 Mục đích sử dụng cơ sở dữ liệu ………………………………………………………………………
24
2.3 Tổng quan về MySQL
……………………………………………………………………………………
24
2.3.1 Khởi động và sử dụng …………………………………………………………………………………
24
2.3.2 Một số thuật ngữ ………………………………………………………………………………………..
25
2.3.3 Loại dữ liệu trong MySQL
…………………………………………………………………………..
25
2.3.4 Những cú pháp cơ bản ………………………………………………………………………………..
25
3. Kết hợp PHP và MySQL trong ứng dụng Website
………………………………………………….
26
4. Giới thiệu về CSS
……………………………………………………………………………………………….
27
LÊ THỊ THU HIỀN – LỚP CTL901
8
5. Apache và IIS
…………………………………………………………………………………………………….
27
CHƢƠNG 3. TÌM HIỂU BÀI TOÁN QUẢN LÝ HỌC TẬP VÀ GIẢNG DẠY Ở
TRƢỜNG MẦM NON HƢỚNG DƢƠNG
………………………………………………………………..
28
1. Giới thiệu trường Mầm non Hướng Dương ……………………………………………………………
28
2. Yêu cầu đặt ra…………………………………………………………………………………………………….
28
3. Phân tích thiết kế hệ thống …………………………………………………………………………………..
29
3.1 Phát biểu bài toán ………………………………………………………………………………………….
29
3.2 Sơ đồ tiến trình nghiệp vụ
………………………………………………………………………………
29
3.2.1 Sơ đồ tiến trình nghiệp vụ điểm danh học sinh
……………………………………………….
29
3.2.2 Sơ đồ tiến trình nghiệp vụ giảng dạy …………………………………………………………….
30
3.2.2 Sơ đồ tiến trình nghiệp vụ nhận xét ………………………………………………………………
31
3.3 Mô hình nghiệp vụ ………………………………………………………………………………………..
31
3.3.1 Bảng phân tích xác định chức năng, tác nhân và hồ sơ ……………………………………
31
3.3.2 Biểu đồ ngữ cảnh ……………………………………………………………………………………….
32
3.3.3 Biểu đồ phân rã chức năng
…………………………………………………………………………..
32
3.3.4 Danh sách hồ sơ dữ liệu ………………………………………………………………………………
33
3.3.5 Ma trận thực thể chức năng
………………………………………………………………………….
34
3.3.6 Biểu đồ luồng dữ liệu
………………………………………………………………………………….
34
3.4 Thiết kế cơ sở dữ liệu
…………………………………………………………………………………….
36
3.4.1 Mô hình liên kết thực thể (ER) …………………………………………………………………….
36
3.4.2 Mô hình quan hệ ………………………………………………………………………………………..
38
3.4.3 Thiết kế cơ sở dữ liệu vật lý
…………………………………………………………………………
40
CHƢƠNG 4. XÂY DỰNG HỆ THỐNG THỬ NGHIỆM …………………………………………..
44
1. Môi trường thử nghiệm ……………………………………………………………………………………….
44
2. Một số giao diện thử nghiệm ……………………………………………………………………………….
44
KẾT LUẬN
……………………………………………………………………………………………………………..
54
TÀI LIỆU THAM KHẢO ………………………………………………………………………………………..
55
LÊ THỊ THU HIỀN – LỚP CTL901
9
LỜI MỞ ĐẦU
Ngày nay, công nghệ thông tin đã và đang đóng vai trò quan trọng trong xã hội.
Nó giúp con người làm việc với mức độ chính xác cao, quản lý và tổ chức công việc
đạt hiệu quả, cũng như thông tin được phổ biến và cập nhật nhanh chóng, chính xác.
Do đó, việc ứng dụng công nghệ thông tin vào các phòng ban công ty, xí nghiệp,
trường học là nhu cầu tất yếu.
Thấy được lợi ích của ứng dụng công nghệ thông tin, trường Mẫu giáo Hướng
Dương đang từng bước tin học hóa vào công tác quản lý. Trong đó, công tác quản lý
giảng dạy là rất cần thiết. Bởi lẽ, mỗi ngày các giáo viên đều phải cập nhật thông tin
điểm danh, giảng dạy. Khi lượng thông tin ngày một tăng lên, việc lưu trữ có thể dẫn
đến nhầm lẫn, sai sót. Vì thế, sự ra đời của chương trình quản lý giảng dạy mang lại
những lợi ích:
– Tiết kiệm chi phí, thời gian, tránh sai sót cho người quản lý.
– Công tác lưu trữ được an toàn và tiện ích.
Xuất phát từ những lợi ích trên, em đã chọn đề tài tốt nghiệp “xây dựng hệ
thống theo dõi hoạt động học tập và giảng dạy ở trường mầm non”. Với đề tài này, em
mong muốn áp dụng các kiến thức được học trong trường cùng với việc tìm hiểu
nghiên cứu ngôn ngữ và môi trường lập trình để xây dựng hệ thống phần mềm quản lý
học tập và giảng dạy cho trường Mầm non Hướng Dương đạt được hiệu quả hơn.
LÊ THỊ THU HIỀN – LỚP CTL901
10
CHƢƠNG 1. INTERNET, WORLD WIDE WEB VÀ HTML
1. Khái niệm cơ bản về Internet
1.1 Giới thiệu chung
Internet là mạng của các máy tính trên toàn cầu được thành lập từ những
năm 80 bắt nguồn từ mạng APARRNET của bộ quốc phòng Mỹ. Vào mạng
Internet, bạn có thể tìm thấy nhiều tài liệu để nghiên cứu, học tập, trao đổi thư từ, đặt
hàng, mua bán,… Một trong những mục tiêu của Internet là chia sẻ thông tin giữa
những người dùng trên nhiều lĩnh vực khác nhau. Mỗi máy tính trên Internet được
gọi là một host. Mỗi host có khả năng như nhau về truyền thông tới máy khác trên
Internet. Một số host được nối tới mạng bằng đường nối Dial-up (quay số) tạm thời,
số khác được nối bằng đường nối mạng thật sự 100% (như Ethernet, Tokenring,… ).
1.2 Phân loại
Các máy tính trên mạng được chia làm 2 nhóm Client và Server.
–
Client: Máy khách trên mạng, chứa các chương trình Client
–
Server: Máy phục vụ – Máy chủ. Chứa các chương trình Server, tài
nguyên (tập tin, tài liệu… ) dùng chung cho nhiều máy khách. Server luôn ở trạng thái
chờ yêu cầu và đáp ứng yêu cầu của Client.
–
Internet Server: Là những server cung cấp các dịch vụ Internet như Web
Server, Mail Server, FPT Server,…
Các dịch vụ thường dùng trên Internet
–
Dịch vụ World Wide Web (gọi tắt là Web)
–
Dịch vụ Electronic Mail (viết tắt là Email)
–
Dịch vụ FPT
Để truyền thông với những máy tính khác, mọi máy tính trên Internet phải hỗ
trợ giao thức chung TCP/IP (Transmission Control Protocol/Internet Protocol) là giao
thức điều khiển truyền dữ liệu và giao thức Internet), là một giao thức đồng bộ, cho
truyền thông điệp từ nhiều nguồn và tới nhiều đích khác nhau. Ví dụ có thể vừa lấy
thư từ trong hộp thư, đồng thời vừa truy cập trang Web. TCP đảm bảo tính an toàn dữ
liệu, IP là giao thức chi phối phương thức vận chuyển dữ liệu trên Internet.
LÊ THỊ THU HIỀN – LỚP CTL901
11
2. World Wide Web
2.1 Các khái niệm cơ bản về World Wide Web
World Wide Web (WWW) hay còn gọi là Web là một dịch vụ phổ biến nhất
hiện nay trên Internet, 85% các giao dịch trên Internet ước lượng thuộc về WWW.
Ngày nay số Website trên thế giới đã đạt tới con số khổng lồ. WWW cho phép bạn
truy xuất thông tin văn bản, hình ảnh, âm thanh, video trên toàn thế giới. Thông qua
Website, các quý công ty có thể giảm thiểu tối đa chi phí in ấn và phân phát tài liệu
cho khách hàng ở nhiều nơi.
2.2 Cách tạo trang Web
Có nhiều cách để tạo trang Web -Có thể tạo trang Web trên bất kì chương
trình xử lí văn bản nào:
–
Tạo Web bằng cách viết mã nguồn bởi một trình soạn thảo văn bản như:
–
Notepad, WordPad,… là những chương trình soạn thảo văn bản có sẵn
trong Window.
–
Thiết kế bằng cách dùng Web Wizard và công cụ của Word 97, Word
2000.
–
Thiết kế Web bằng các phần mềm chuyên nghiệp: FrontPage,
Dreamweaver, Nescape Editor,…. Phần mềm chuyên nghiệp như DreamWeaver sẽ
giúp bạn thiết kế trang Web dễ dàng hơn, nhanh chóng hơn, phần lớn mã lệnh HTML
sẽ có sẵn trong phần Code cho bạn. Để xây dựng một ứng dụng Web hoàn chỉnh và có
tính thương mại, bạn cần kết hợp cả Client Script (kịch bản trình khách) và Server
Script (kịch bản trên trình chủ) với một loại cơ sở dữ liệu nào đó, chẳng hạn như: MS
Access, SQL Server, MySQL, Oracle,… Khi bạn muốn triển khai ứng dụng Web trên
mạng, ngoài các điều kiện về cấu hình phần cứng, bạn cần có trình chủ Web thường
gọi là Web Server.
2.3 Trình duyệt Web (Web Client hay Web Browser)
Trình duyệt Web là công cụ truy xuất dữ liệu trên mạng, là phần mềm giao diện
trực tiếp với người sử dụng. Nhiệm vụ của Web Browser là nhận các yêu cầu của
người dùng, gửi các yêu cầu đó qua mạng tới các Web Server và nhận các dữ liệu cần
thiết từ Server để hiển thị lên màn hình. Để sử dụng dịch vụ WWW, Client cần có một
chương trình duyệt Web, kết nối vào Internet thông qua một ISP. Các trình duyệt
LÊ THỊ THU HIỀN – LỚP CTL901
12
thông dụng hiện nay là: Microsoft Internet Explorer, Google Chrome, Mozilla
FireFox….
2.4 Webserver
Webserver: là một máy tính được nối vào Internet và chạy các phần mềm được
thiết kế. Webserver đóng vai trò một chương trình xử lí các nhiệm vụ xác định, như
tìm trang thích hợp, xử lí tổ hợp dữ liệu, kiểm tra dữ liệu hợp lệ…. Webserver cũng là
nơi lưu trữ cơ sở dữ liệu, là phần mềm đảm nhiệm vai trò Server cung cấp dịch vụ
Web. Webserver hỗ trợ các công nghệ khác nhau:
–
IIS (Internet Information Service) : Hỗ trợ ASP, mở rộng hỗ trợ PHP
–
Apache : Hỗ trợ PHP
–
Tomcat : Hỗ trợ JSP(Java Servlet Page)
2.5 Phân loại Web
2.5.1 Web tĩnh
–
Tài liệu được phân phát rất đơn giản từ hệ thống file của Server
–
Định dạng các trang web tĩnh là các siêu liên kết, các trang định dạng
Text, các hình ảnh đơn giản.
–
Ưu điểm: CSDL nhỏ nên việc phân phát dữ liệu có hiệu quả rõ ràng,
Server có thể đáp ứng nhu cầu Client một cách nhanh chóng. Ta nên sử dụng
–
Web tĩnh khi không thay đổi thông tin trên đó.
–
Nhược điểm: Không đáp ứng được yêu cầu phức tạp của người sử dụng,
–
không linh hoạt,…
–
Hoạt động của trang Web tĩnh được thể hiện như sau:
Browser gửi yêu cầu
Server gửi trả tài liệu
2.5.2 Website động
Về cơ bản nội dung của trang Web động như một trang Web tĩnh, ngoài ra nó
còn có thể thao tác với CSDL để đáp ứng nhu cầu phức tập của một trang Web. Sau
khi nhận được yêu cầu từ Web Client, chẳng hạn như một truy vấn từ một CSDL đặt
Browser
Server
LÊ THỊ THU HIỀN – LỚP CTL901
13
trên Server, ứng dụng Internet Server sẽ truy vấn CSDL này, tạo một trang HTML
chứa kết quả truy vấn rồi gửi trả cho người dùng.
–
Hoạt động của Web động:
3. HTML
Trang Web là sự kết hợp giữa văn bản và các thẻ HTML. HTML là chữ viết tắt
của HyperText Markup Language được hội đồng World Wide Web Consortium
(W3C) quy định. Một tập tin HTML chẳng qua là một tập tin bình thường, có đuôi
.html hoặc .htm. HTML giúp định dạng văn bản trong trang Web nhờ các thẻ. Hơn
nữa, các thẻ html có thể liên kết từ hoặc một cụm từ với các tài liệu khác trên Internet.
Đa số các thẻ HTML có dạng thẻ đóng mở. Thẻ đóng dùng chung từ lệnh giống như
thẻ mở, nhưng thêm dấu xiên phải (/). Ngôn ngữ HTML qui định cú pháp không phân
biệt chữ hoa chữ thường. Ví dụ, có thể khai báo hoặc . Không có
khoảng trắng trong định nghĩa thẻ.
3.1 Cấu trúc chung của một trang HTML
3.2 Các thẻ HTML cơ bản
–
Thẻ
LÊ THỊ THU HIỀN – LỚP CTL901
14
–
Thẻ
buộc. Thẻ title cho phép bạn trình bày chuỗi trên thanh tựa đề của trang Web mỗi khi
trang Web đó được duyệt trên trình duyệt Web.
–
Thẻ … : Tất cả các thông tin khai báo trong thẻ
đều có thể xuất hiện trên trang Web. Những thông tin này có thể nhìn thấy trên trang
Web.
–
Các thẻ định dạng khác
–
Thẻ
..
: Tạo một đoạn mới
–
Thẻ … : Thay đổi phông chữ, kích cỡ và màu kí tự.
–
…..
–
Thẻ định dạng bảng
: Đây là thẻ định dạng bảng trên
trang Web. Sau khi khai báo thẻ này, bạn phải khai báo các thẻ hàng
–
Thẻ hình ảnh : Cho phép bạn chèn hình ảnh vào trang Web. Thẻ
này thuộc loại thẻ không có thẻ đóng.
–
Thẻ liên kết … : Là loại thẻ dùng để liên kết giữa các trang Web
hoặc liên kết đến địa chỉ Internet, Mail hay Intranet(URL) và địa chỉ trong tập tin
trong mạng cục bộ (UNC).
–
Các thẻ Input: Thẻ Input cho phép người dùng nhập dữ liệu hay chỉ thị
thực thi một hành động nào đó, thẻ Input bao gồm các loại thẻ như: text, password,
submit, button, reset, checkbox, radio, hidden, image.
–
Thẻ textarea < textarea>…. < \textarea>: Thẻ textarea cho phép người
dùng nhập liệu với rất nhiều dòng. Với thẻ này bạn không thể giới hạn chiều dài lớn
nhất trên trang Web.
–
Thẻ select: Thẻ Select cho phép người dùng chọn phần tử trong tập
phương thức đã được định nghĩa trước. Nếu thẻ Select cho phép người dùng chọn một
phần tử trong danh sách phần tử thì thẻ Select sẽ giống như combobox. Nếu thẻ Select
cho phép người dùng chọn nhiều phần tử cùng một lần trong danh sách phần tử, thẻ
Select đó là dạng listbox.
–
Thẻ form: Khi bạn muốn submit dữ liệu người dùng nhập từ trang Web
phía Client lên phía Server, bạn có hai cách để làm điều nàu ứng với hai phương thức
POST và GET trong thẻ form. Trong một trang Web có thể có nhiều thẻ Form khác
LÊ THỊ THU HIỀN – LỚP CTL901
15
nhau, nhưng các thẻ Form này không được lồng nhau, mỗi thẻ form sẽ được khai báo
hành động (action) chỉ đến một trang khác.
LÊ THỊ THU HIỀN – LỚP CTL901
16
CHƢƠNG 2. TỔNG QUAN NG N NGỮ PHP VÀ MYSQL
1. Ng n ngữ PHP
1.1 Khái niệm PHP
PHP là chữ viết tắt của “Personal Home Page” do Rasmus Lerdorf tạo ra năm
1994. Vì tính hữu dụng của nó và khả năng phát triển, PHP bắt đầu được sử dụng
trong môi trường chuyên nghiệp và nó trở thành ”PHP:Hypertext Preprocessor”. Thực
chất PHP là ngôn ngữ kịch bản nhúng trong HTML, nói một cách đơn giản đó là một
trang HTML có nhúng mã PHP, PHP có thể được đặt rải rác trong HTML.
PHP là một ngôn ngữ lập trình được kết nối chặt chẽ với máy chủ, là một công
nghệ phía máy chủ (Server-Side) và không phụ thuộc vào môi trường (cross-
platform). Đây là hai yếu tố rất quan trọng, thứ nhất khi nói công nghệp phía máy chủ
tức là nói đến mọi thứ trong PHP đều xảy ra trên máy chủ, thứ hai, chính vì tính chất
không phụ thuộc môi trường cho phép PHP chạy trên hầu hết trên các hệ điều hành
như Windows, Unixvà nhiều biến thể của nó… Đặc biệt các mã kịch bản PHP viết trên
máy chủ này sẽ làm việc bình thường trên máy chủ khác mà không cần phải chỉnh sửa
hoặc chỉnh sửa rất ít. Khi một trang Web muốn được dùng ngôn ngữ PHP thì phải đáp
ứng được tất cả các quá trình xử lý thông tin trong trang Web đó, sau đó đưa ra kết
quả ngôn ngữ HTML. Khác với ngôn ngữ lập trình, PHP được thiết kế để chỉ thực
hiện điều gì đó sau khi một sự kiện xảy ra (ví dụ, khi người dùng gửi một biểu mẫu
hoặc chuyển tới một URL).
1.2 Tại sao nên dùng PHP
Để thiết kế Web động có rất nhiều ngôn ngữ lập trình khác nhau để lựa chọn,
mặc dù cấu hình và tính năng khác nhau nhưng chúng vẵn đưa ra những kết quả giống
nhau. Chúng ta có thể lựa chọn cho mình một ngôn ngữ : ASP, PHP,Java, Perl… và
một số loại khác nữa. Vậy tại sao chúng ta lại nên chọn PHP. Rất đơn giản, có những
lí do sau mà khi lập trình Web chúng ta không nên bỏ qua sự lựa chọn tuyệt vời này.
PHP được sử dụng làm Web động vì nó nhanh, dễ dàng, tốt hơn so với các giải pháp
khác. PHP có khả năng thực hiện và tích hợp chặt chẽ với hầu hết các cơ sở dữ liệu có
sẵn, tính linh động, bền vững và khả năng phát triển không giới hạn. Đặc biệt PHP là
mã nguồn mở do đó tất cả các đặc tính trên đều miễn phí, và chính vì mã nguồn mở
sẵn có nên cộng đồng các nhà phát triển Web luôn có ý thức cải tiến nó, nâng cao để
LÊ THỊ THU HIỀN – LỚP CTL901
17
khắc phục các lỗi trong các chương trình này PHP vừa dễ với người mới sử dụng vừa
có thể đáp ứng mọi yêu cầu của các lập trình viên chuyên nghiệp, mọi ý tuởng của các
bạn PHP có thể đáp ứng một cách xuất sắc. Cách đây không lâu, ASP vốn được xem
là ngôn ngữ kịch bản phổ biến nhất, vậy mà bây giờ PHP đã bắt kịp ASP, bằng chứng
là nó đã có mặt trên 12 triệu Website.
1.3 Hoạt động của PHP
Vì PHP là ngôn ngữ của máy chủ nên mã lệnh của 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.
Sơ đồ hoạt động:
Yêu cầu URL
HTML
HTML
Gọi mã kịch bản
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. Mã lệnh PHP yêu cầu máy chủ gửi một
dữ liệu thích hợp (mã lệnh HTML) đến trình duyệt Web. Trình duyệt xem nó như là
một trang HTML têu chuẩn. Như ta đã nói, PHP cũng chính là một trang HTML
nhưng có nhúng mã PHP và có phần mở rộng là HTML. Phần mở của PHP được đặt
trong thẻ mở .Khi trình duyệt truy cập vào một trang PHP,
Server sẽ đọc nội dung file PHP lên và lọc ra các đoạn mã PHP và thực thi các đoạn
mã đó, lấy kết quả nhận được của đoạn mã PHP thay thế vào chỗ ban đầu của chúng
trong file PHP, cuối cùng Server trả về kết quả cuối cùng là một trang nội dung
HTML về cho trình duyệt.
Máy khách hàng
Máy chủ
web
PHP
LÊ THỊ THU HIỀN – LỚP CTL901
18
1.4 Tổng quan về PHP
1.4.1 Cấu trúc cơ bản
PHP cũng có thẻ bắt đầu và kết thúc giống với ngôn ngữ HTML. Chỉ khác, đối
với PHP chúng ta có nhiều cách để thể hiện.
Cách 1: Cú pháp chính
Cách 2: Cú pháp ngắn gọn
Mã lệnh PHP ?>
Cách 3: Cú pháp giống với ASP
<% Mã lệnh PHP %>
Cách 4: Cú pháp bắt đầu bằng script
Mặc dù có 4 cách thể hiện. Nhưng đối với 1 lập trình viên có kinh nghiệm thì
việc sử dụng cách 1 vẫn là lựa chon tối ưu. Trong PHP để kết thúc 1 dòng lệnh chúng
ta sử dụng dấu “;”. Để chú thích 1 đoạn dữ liệu nào đó trong PHP ta sử dụng dấu “//”
cho từng dòng. Hoặc dùng cặp thẻ “/*……..*/” cho từng cụm mã lệnh.
Ví dụ: Who are you ?”;
?>
Nếu giữa hai chuỗi muốn liên kết với nhau ta sử dụng dấu “.”
Liên kết 2 chuỗi
1.4.3 Biến, hằng, chuỗi và các kiểu dữ liệu
Biến: được xem là vùng nhớ dữ liệu tạm thời. Và giá trị có thể thay đổi được.
Biến được bắt đầu bằng ký hiệu “$”. Và theo sau chúng là 1 từ, 1 cụm từ nhưng phải
viết liền hoặc có gạch dưới. Một biến được xem là hợp lệ khi nó thỏa các yếu tố:
–
Tên của biến phải bắt đầu bằng dấu gạch dưới và theo sau là các ký tự,
số hay dấu gạch dưới.
–
Tên của biến không được phép trùng với các từ khóa của PHP. Trong
PHP để sử dụng 1 biến chúng ta thường phải khai báo trước, tuy nhiên đối với các lập
trình viên khi sử dụng họ thường xử lý cùng một lúc các công việc, nghĩa là vừa khai
báo vừa gán dữ liệu cho biến. Bản thân biến cũng có thể gán cho các kiểu dữ liệu
khác. Và tùy theo ý định của người lập trình mong muốn trên chúng.
Biến trong PHP:
$a= 100 //biến a ở đây có giá trị là 100.
$a= “PHP is easy” //biến a ở đây có giá trị “PHP is easy”.
Biena= 123 //có lối vì bắt đầu một biến phải có dấu “$”.
$123a=“PHP” //có lối vì phần tên bắt đầu của biến là dạng số.
?>
Hằng: nếu biến là cái có thể thay đổi được thì ngược lại hằng là cái chúng ta
không thể thay đổi được. Hằng trong PHP được định nghĩa bởi hàm define theo cú
pháp: define (string tên_hằng, giá_trị_hằng ). Cũng giống với biến hằng được xem là
hợp lệ thì chúng phải đáp ứng 1 số yếu tố:
–
Hằng không có dấu “$” ở trước tên.
–
Hằng có thể truy cập bất cứ vị trí nào trong mã lệnh
–
Hằng chỉ được phép gán giá trị duy nhất 1 lần.
–
Hằng thường viết bằng chữ in để phân biệt với biến
Hằng trong PHP:
define (“C”, “COMPANY”);
define (“YELLOW”, “#ffff00”);
LÊ THỊ THU HIỀN – LỚP CTL901
20
echo “Gia tri cua C la”.C;
?>
Chuỗi: là một nhóm các kỹ tự, số, khoảng trắng, dấu ngắt được đặt trong các
dấu nháy. Ví dụ: „Hello. Để tạo 1 biễn chuỗi, chúng ta phải gán giá trị chuỗi cho 1
biến hợp lệ.
Ví dụ:
$fisrt_name= “Nguyen”;
$last_name= „Van A‟;
Để liên kết 1 chuỗi và 1 biến chúng ta thường sử dụng dấu “.”
Ví dụ:
$test= “QHOnline.Info”;
echo “welcome to”.$test;
echo “
welcome to”.$test.“”;
?>
Kiểu dữ liệu: các kiểu dữ liệu khác nhau chiếm các lượng bộ nhớ khác nhau và
có thể được xử lý theo cách khác nhau khi chúng được theo tác trong 1 script. Trong
PHP chúng ta có 6 kiểu dữ liệu chính như sau:
Kiểu dữ liệu
Ví dụ
Mô tả
Integer
10
Một số nguyên
Double
5.208
Kiểu số thực
String
“How are you ?”
Một tập hợp các ký tự
Boolean
True or False
Giá trị đúng hoặc sai
Object
Hướng đối tượng trong PHP
Array
Mảng trong PHP, chứa các phần tử
Chúng ta có thể sử dụng hàm dựng sẵn GETTYPE() của PHP4 để kiểm tra kiểu
của bất kỳ biến.
Ví dụ:
$a= 5;
echo gettype($a); // Integer.
$a= “qhonline.info”;
LÊ THỊ THU HIỀN – LỚP CTL901
21
echo gettype($a); //String.
?>
1.4.4 Các phƣơng thức đƣợc sử dụng trong lập trình PHP
Phương thức GET
Phương thức này cũng được dùng để lấy dữ liệu từ form nhập liệu. Tuy nhiên
nhiệm vụ chính của nó vẫn là lấy nội dung trang dữ liệu từ web server.
Ví dụ:
Với url sau: shownews.php?id=50
Vậy với trang shownews ta dùng hàm $_GET[„id‟] sẽ được giá trị là 50. 20
Phương thức POST
Phương thức này đượ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
Ví dụ:
echo “Welcome ”.$_POST[„hoten‟].”!”;
?>
1.4.5 Cookie và Session trong PHP
Cookie và Session là hai phương pháp sử dụng để quản lý các phiên làm việc
giữa người sử dụng và hệ thống
Cookie: là một đoạn dữ liệu được ghi vào đĩa cứng hoặc bộ nhớ của máy người
sử dụng. Nó được trình duyệt gửi ngược lên lại server mỗi khi browser tải 1 trang web
từ server. Những thông tin được lưu trữ trong cookie hoàn toàn phụ thuộc vào
Website trên server. Mỗi Website có thể lưu trữ những thông tin khác nhau trong
cookie, ví dụ thời điểm lần cuối ta ghé thăm Website, đánh dấu ta đã login hay chưa,…
Cookie được tạo ra bởi Website và gửi tới browser, do vậy 2 Website khác nhau (cho
LÊ THỊ THU HIỀN – LỚP CTL901
22
dù cùng host trên 1 server) sẽ có 2 cookie khác nhau gửi tới browser. Ngoài ra, mỗi
browser quản lý và lưu trữ cookie theo cách riêng của mình, cho nên 2 browser cùng
truy cập vào 1 Website sẽ nhận được 2 cookie khác nhau. Để thiết lập cookie ta sử
dụng cú pháp: Setcookie(“tên cookie”,”giá trị”, thời gian sống). Tên cookie là tên mà
chúng ta đặt cho phiên làm việc. Giá trị là thông số của tên cookie. Ví dụ:
setcookie(“name”,”admin”,time()+3600). Để sử dụng lại cookie vừa thiết lập, chúng ta
sử dụng cú pháp: $_COOKIE[“tên cookies”]. Tên cookie là tên mà chúng ta thiết lập
phía trên. Để hủy 1 cookie đã được tạo ta có thể dùng 1 trong 2 cách sau:
setcookie(“Tên cookie”). Gọi hàm setcookie với chỉ duy nhất tên cookie mà thôi.
Dùng thời gian hết hạn cookie là thời điểm trong quá khứ. Ví dụ:
setcookie(“name”,”admin”,time()-3600);
Session: một cách khác quản lý người sử dụng là Session. Session được hiểu là
khoảng thời gian người sử dụng giao tiếp với 1 ứng dụng. Một session được bắt đầu
khi người sử dụng truy cập vào ứng dụng lần đầu tiên, và kết thúc khi người sử dụng
thoát khỏi ứng dụng. Mỗi session sẽ có được cấp một định danh (ID) khác nhau.Để
thiết lập 1 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. Để thiết lập 1 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ý 1 giá trị
session. Để tiện cho việc gán giá trị cho session đó. Ta có cú pháp sau:
session_register(“Name”). Giống với cookie. Để sử dụng giá trị của session ta sử dụng
mã lệnh sau: $_SESSION[“name”]. Với Name là tên mà chúng ta sử dụng hàm
session_register(“name”) để khai báo. Để hủy bỏ giá trị của session ta có những cách
sau: session_destroy() – cho phép hủy bỏ toàn bộ giá trị của session và session_unset()
– cho phép hủy bỏ session .
1.4.6 Hàm
Để giảm thời gian lặp lại 1 thao tác code nhiều lần, PHP hỗ trợ người lập trình
việc tự định nghĩa cho mình những hàm có khả năng lặp lại nhiều lần trong Website.
Việc này cũng giúp cho người lập trình kiểm soát mã nguồn một cách mạch lạc. Đồng
thời có thể tùy biến ở mọi trang. Mà không cần phải khởi tạo hay viết lại mã lệnh như
HTML thuần.
Hàm tự định nghĩa
Cú pháp: