Tải bản đầy đủ (.pdf) (112 trang)

Xây dựng website học tiếng anh trực tuyến cho học sinh trường THPT lê quý đôn thái bình

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.09 MB, 112 trang )

 LỜI CẢM ƠN
Trong thời gian làm đồ án tốt nghiệp em đã hoàn thành được đề tài đã chọn.
Tuy thời gian không nhiều và kinh nghiệm về PHP và mã nguồn mở WordPress
tích lũy còn ít nên còn nhiều thiếu sót. Mong thầy cô và các bạn đóng góp ý kiến
để em có thể hoàn thiện đề tài này hơn. Qua đây em xin chân thành cảm ơn Th.s.
Phạm Hồng Việt –giảng viên trường đại học Công nghệ thông tin và truyền thông
Thái Nguyên, Đại học Thái Nguyên đã tận tình hướng dẫn, định hướng và chỉ bảo
em trong thời gian qua để em hoàn thành được đồ án tốt nghiệp này. Và em cũng
xin gửi lời cảm ơn tới các bạn cùng lớp đã giúp đỡ em rất nhiều trong thời gian
làm đề tài này.
Xin chân thành cảm ơn!
Thái Nguyên, ngày … tháng … năm 2016
Sinh viên

Vũ Thị An

1


 LỜI CAM ĐOAN
Em xin cam đoan rằng đây là bài đồ án tốt nghiệp của em, có sự hỗ trợ từ
Giáo viên hướng dẫn Th.s. Phạm Hồng Việt –giảng viên trường đại học Công nghệ
thông tin và truyền thông Thái Nguyên, Đại học Thái Nguyên, các nội dung nghiên
cứu và kết quả trong đề tài này là trung thực và không sao chép từ các báo cáo
thực tập và đồ án khác 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 bản thân thu thập từ các nguồn khác
nhau.
Nếu có bất kỳ sự gian lận nào em xin hoàn toàn chịu trách nhiệm trước Hội
đồng.
Thái Nguyên, ngày … tháng … năm 2016
Sinh viên



Vũ Thị An

 MỤC LỤC

LỜI CẢM ƠN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
LỜI CAM ĐOAN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
MỤC LỤC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
DANH MỤC HÌNH ẢNH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
DANH MỤC BẢNG BIỂU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
LỜI MỞ ĐẦU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
CHƯƠNG 1. TỔNG QUAN VỀ CƠ SỞ LÍ THUYẾT. . . . . . . . . . . . . . . . . . . . . . . . . 10
1.1. Tổng quan ngôn ngữ PHP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.1.1. PHP là gì? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.1.2. Cú pháp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2


1.1.3. Biến . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.1.4. Chuỗi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.1.5. Hàm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.1.6. Mảng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.1.7. Các cấu trúc điều khiển và lặp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.1.8. Lệnh lặp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.1.9. Truyền nhận dữ liệu (POST/GET) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.1.10. Cookies, Sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.2. Tổng quan MYSQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.2.1. MySLQ là gì? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.2.2. Đặc điểm của MySQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.2.3. Các kiểu dữ liệu trong cơ sở dữ liệu MySQL . . . . . . . . . . . . . . . . . . . . . . . 18

1.2.4. Câu lệnh truy vấn cơ bản của MySQL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.3. Giới thiệu về Wordpress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.3.1. Wordpress là gì?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.3.2. Những đặc điểm nổi bật của WordPress. . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.3.3 Cài đặt và cấu hình Wordpress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
CHƯƠNG 2. PHÂN TÍCH THIẾT KẾ HỆ THỐNG . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.1. Khảo sát và phân tích thiết kế bài toán. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.1.1. Giới thiệu chung về Trường THPT Lê Quý Đôn – Thái Bình . . . . . . 25
2.1.2. Khảo sát hiện trạng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.1.3. Mục đích của website . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.1.4. Mô tả các chức năng của hệ thống . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.2. Phân tích thiết kế hệ thống . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.2.1. Tác nhân hệ thống . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.2.2. Các chức năng của hệ thống . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.3. Phân tích thiết kế. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.3.1. Tổng quan về UML. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3


2.3.2. Phân tích thiết kế bài toán. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.4. Phân tích cơ sở dữ liệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
CHƯƠNG 3. XÂY DỰNG WEBSITE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
3.1. Môi trường phát triển . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
3.2. Một số giao diện . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
KẾT LUẬN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
TÀI LIỆU THAM KHẢO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

4



 DANH MỤC HÌNH ẢNH

Hình 1.1: Create a Configuration File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Hình 1.2: Nhập các thông tin cơ sở dữ liệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Hình 2.1: Tác nhân hệ thống . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Hình 2.2: Biểu đồ use case hệ thống . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Hình 2.3: Biểu đồ trình tự xem danh sách tin . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Hình 2.4: Biểu đồ hoạt động xem danh sách tin . . . . . . . . . . . . . . . . . . . . . . . 32
Hình 2.5: Biểu đồ trình tự xem giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Hình 2.6: Biểu đồ hoạt động xem giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Hình 2.7: Biểu đồ trình tự xem danh sách bài học . . . . . . . . . . . . . . . . . . . . . 33
Hình 2.8: Biểu đồ hoạt động xem danh sách bài học . . . . . . . . . . . . . . . . . . 34
Hình 2.9: Biểu đồ trình tự xem chi tiết bài học . . . . . . . . . . . . . . . . . . . . . . . . . 34
Hình 2.10: Biểu đồ hoạt động xem chi tiết bài học . . . . . . . . . . . . . . . . . . . . . 35
Hình 2.11: Biểu đồ trình tự xem kinh nghiệm học. . . . . . . . . . . . . . . . . . . . . . 36
Hình 2.12: Biểu đồ trình tự xem danh sách tài liệu . . . . . . . . . . . . . . . . . . . . 36
Hình 2.13: Biểu đồ trình tự xem chi tiết tài liệu . . . . . . . . . . . . . . . . . . . . . . . . 37
Hình 2.14: Biểu đồ trình tự học ngữ pháp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Hình 2.15: Biểu đồ hoạt động học ngữ pháp . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Hình 2.16: Biểu đồ trình tự học qua video . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Hình 2.17: Biểu đồ trình tự luyện nghe tiếng anh . . . . . . . . . . . . . . . . . . . . . . 40
Hình 2.18: Biểu đồ trình tự làm bài test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Hình 2.19: Biểu đồ hoạt động làm bài test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Hình 2.20: Biểu đồ trình tự gửi phản hồi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Hình 2.21: Biểu đồ hoạt động gửi phản hồi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5


Hình 2.22: Biểu đồ trình tự xem danh sách bài viết . . . . . . . . . . . . . . . . . . . . 43

Hình 2.23: Biểu đồ trình tự thêm bài viết . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Hình 2.24: Biểu đồ hoạt động thêm bài viết. . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Hình 2.25: Biểu đồ trình tự sửa bài viết . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Hình 2.26: Biểu đồ hoạt động sửa bài viết . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Hình 2.27: Biểu đồ trình tự xóa bài viết . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Hình 2.28: Biểu đồ hoạt động xóa bài viết . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Hình 2.29: Biểu đồ trình tự xem danh sách trang . . . . . . . . . . . . . . . . . . . . . . 47
Hình 2.30: Biểu đồ trình tự thêm trang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Hình 2.31: Biểu đồ hoạt động thêm trang. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Hình 2.32: Biểu đồ trình tự sửa trang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Hình 2.33: Biểu đồ hoạt động sửa trang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Hình 2.34: Biểu đồ trình tự xóa trang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Hình 2.35: Biểu đồ hoạt động xóa trang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Hình 2.36: Biểu đồ trình tự xem danh sách phản hồi . . . . . . . . . . . . . . . . . . 52
Hình 2.37: Biểu đồ trình tự phản hồi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Hình 2.38: Biểu đồ trình tự xem chi tiết phản hồi . . . . . . . . . . . . . . . . . . . . . . 54
Hình 2.39: Biểu đồ trình tự xóa phản hồi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Hình 2.40: Biểu đồ trình tự xem danh sách chuyên mục . . . . . . . . . . . . . . . 55
Hình 2.41: Biểu đồ trình tự thêm chuyên mục . . . . . . . . . . . . . . . . . . . . . . . . . 56
Hình 2.42: Biểu đồ trình tự sửa chuyên mục . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Hình 2.43: Biểu đồ trình tự xóa chuyên mục . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Hình 2.44: Biểu đồ trình tự xem danh sách thành viên. . . . . . . . . . . . . . . . . 58
Hình 2.45: Biểu đồ trình tự thêm thành viên . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Hình 2.46: Biểu đồ trình tự sửa thành viên . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Hình 2.47: Biểu đồ trình tự xóa thành viên . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
6


Hình 2.48: Biểu đồ trình tự xem danh sách menu . . . . . . . . . . . . . . . . . . . . . 61
Hình 2.49: Biểu đồ trình tự thêm menu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

Hình 2.50: Biểu đồ trình tự sửa menu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Hình 2.51: Biểu đồ trình tự xóa menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Hình 2.52: Biểu đồ trình tự thêm bài học . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Hình 2.53: Biểu đồ hoạt động thêm bài học . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Hình 2.54: Biểu đồ trình tự sửa bài học . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Hình 2.55: Biểu đồ hoạt động sửa bài học. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Hình 2.56: Biểu đồ trình tự xóa bài học . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Hình 2.57: Biểu đồ hoạt động xóa bài học . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Hình 2.58: Biểu đồ trình tự đăng xuất . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Hình 2.59: Biểu đồ hoạt động đăng xuất . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Hình 2.60: Biểu đồ lớp. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Hình 2.61: Quan hệ giữa các bảng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Hình 3.1: Giao diện trang chủ website . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Hình 3.2: Giao diện học tập. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Hình 3.3: Giao diện làm bài test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Hình 3.4: Giao diện trang quản trị. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

7


 DANH MỤC BẢNG BIỂU

Bảng 1.1: Các hàm trong PHP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Bảng 2.1: Chức năng với người dùng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Bảng 2.2: Chức năng với quản trị viên . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Bảng 2.3: Chức năng với giáo viên–biên tập viên. . . . . . . . . . . . . . . . . . . . . . 29
Bảng 2.3: Mô tả dữ liệu bảngelo_comments . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Bảng 2.4: Mô tả dữ liệu bảngelo_opitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Bảng 2.5: Mô tả dữ liệu bảngelo_postmeta . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Bảng 2.6: Mô tả dữ liệu bảngelo_post . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

Bảng 2.7: Mô tả dữ liệu bảngelo_term_taxonomy . . . . . . . . . . . . . . . . . . . . . 71
Bảng 2.8: Mô tả dữ liệu bảngelo_terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Bảng 2.9: Mô tả dữ liệu bảngelo_usermeta . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Bảng 2.10: Mô tả dữ liệu bảngelo_user . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Bảng 2.11: Mô tả dữ liệu bảngelo_mtouchquiz_quiz. . . . . . . . . . . . . . . . . . . 72
Bảng 2.12: Mô tả dữ liệu bảngelo_mtouchquiz_answer . . . . . . . . . . . . . . . 73
Bảng 2.13: Mô tả dữ liệu bảngelo_mtouchquiz_question . . . . . . . . . . . . . . 73
Bảng 2.14: Mô tả dữ liệu bảngelo_mtouchquiz_ratings . . . . . . . . . . . . . . . . 73

 LỜI MỞ ĐẦU
Hiện nay, trong điều kiện kinh tế, văn hóa – xã hội phát triển, đặc biệt là sự
ảnh hưởng của hội nhập kinh tế quốc tế và toàn cầu hóa thì ngoại ngữ cùng với tin
học giữ một vai trò vô cùng quan trọng.
8


Có thể nói Tiếng Anh là ngoại ngữ cơ bản không thể thiếu đối với các cá
nhân, tổ chức, doanh nghiệp. Để đáp ứng nhu cầu học nhanh và chất lượng cao của
người học, hàng trăm trung tâm Anh ngữ đã mọc lên, tuy nhiên vẫn chưa đáp ứng
được hết các yêu cầu học Tiếng Anh của người học vì nhiều lý do như: bị động về
nhiều mặt, bó buộc về thời gian, về thời khóa biểu cố định.
Xuất phát từ nhu cầu đó, em quyết định thực hiện đề tài “Xây dựng Website
học Tiếng Anh trực tuyến cho học sinh Trường THPT Lê Quý Đôn Thái Bình”.
 Mục tiêu nghiên cứu
 Tìm hiểu ngôn ngữ lập trình PHP, Javascript, WordPress.
 Ứng dụng xây dựng Website học Tiếng Anh trực tuyến cho học sinh
Trường THPT Lê Quý Đôn Thái Bình.
 Công cụ hỗ trợ: ngôn ngữ lập trìnhPHP, MySQL, Javascript, jQuery,
wordpress..
 Bố cục đồ án

 Lời mở đầu.
 Chương 1. Tổng quan về cơ sở lí thuyết.
 Chương 2. Phân tích thiết kế hệ thống.
 Chương 3. Xây dựng website .
 Kết luận.
 Tài liệu tham khảo.

 TỔNG QUAN VỀ CƠ SỞ LÍ THUYẾT
 Tổng quan ngôn ngữ PHP

 PHP là gì?
PHP (viết tắt "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
9


web và có thể dễ dàng nhúng vào trang HTML.
Ví dụ:
<html>
<head>
<title>Mã mẫu</title>
</head>
<body>
echo "Chào thế giới PHP!";
?>
</body>
</html>


 Cú pháp
PHP được biên dịch và xử lý trên server, quá trình này sẽ sinh ra kết quả là
dạng HTML được sử dụng bởi trình duyệt để hiện thị nội dung cho ngưởi sử dụng.
Cú pháp :
<html>
<body>
echo "Hello World";
?>
</body>
</html>

 Biến
Biến trong PHP được sử dụng để lưu trữ thông tin.
Trong PHP việc sử dụng biến cần lưu ý nhưng đặc điểm sau:
 Biến phải bắt đầu bằng kí tự $, sau đó là tên biến.
 Tên biến phải bắt đầu là chứ cái hoặc kí tự gạch chân _.
10


 Tên biến chỉ có thể là các kí tự chữ cái,chữ số và dấu gạch chân.
 Tên biến không được chứa dấu cách.
 Tên biến trong PHP không phân biệt hoa thường.
Các ví dụ về biến:
$_POST
$myCars

 Chuỗi
Chuỗi (String) trong PHP được sử dụng để lưu trữ và xử lý các sâu kí tự.
Cú pháp tạo string:

$txt="Hello World";
echo $txt;
?>

 Hàm
Tổng hợp các phương thức thông dụng trong xử lý STRING
STT
1

Tên Hàm
addcslashes()

Diễn Giải
Trả lại các xâu với “\” được thêm vào
cuối các kí tự được truyền vào.

2

addslashes()

Trả lại các xâu với “\” được thêm vào
cuối các kí tự đã được định nghĩa sắn.

3

bin2hex()

Chuyển một xâu từ ASCII qua hệ Hex.


4

chop()

Giống với rtrim().

5

chr()

Trả lại giá trị ký tự theo ASCII.

6

chunk_split()

Chia một xâu thành sâu con khác.

7

count_chars()

Trả lại số lần lặp của một ký tự trong
xâu.

8

crypt()

Mã hóa một chiều.


9

echo()

Hiển thị xâu.
11


10

explode()

Tách một sâu thành mảng.

11

html_entity_decode()

Chuyển mã entity HTML qua kí tự.

12

htmlentities()

Chuyển kí tự qua mã entity HTML.

13

htmlspecialchars_decode() Chuyển một số mã entity HTML (được

định nghĩa sẵn) qua kí tự.

14

htmlspecialchars()

Chuyển một số ký tự (được định nghĩa
sẵn) qua mã entity HTML.

15

implode()

Nối một mảng thành xâu ký tự

16

join()

Giống implode().

17

md5()

Tính mã MD5, HASH xâu.

18

md5_file()


Tính mã MD5, HASH FILE.

19

money_format()

Định dạng tiền.

20

number_format()

Định dạng số, nhóm theo đơn vị nghìn.

21

sha1()

Mã hóa SHA1 cho xâu.

22

sha1_file()

Mã hóa SHA1 cho file.

23

similar_text()


Tìm tính giống nhau giữa 2 xâu.

24

str_ireplace()

Thay thế một số ký tự trong xâu.

25

str_repeat()

Lặp một xâu với một số lượng lặp nhất
định.

26

str_replace()

Thay thế vài ký tự, phân biệt hoa
thường.

27

str_shuffle()

Trộn xâu.

28


str_split()

Chia một xâu ra thành mảng.

29

str_word_count()

Tìm số từ có trong xâu.

30

strcasecmp()

So sánh hai xâu. Không phân biệt hoa
thường.

31

strcmp()

So sánh hai xâu. Phân biệt hoa thường.

32

strip_tags()

Xóa các thẻ HTML và PHP khỏi xâu.
12



33

stripos()

Tìm một xâu trong một xâu khác. (không
phân biệt hoa thường).

34

stristr()

Tìm một xâu trong một xâu khác. (có
phân biệt hoa thường).

35

strlen()

Trả lại độ dài của xâu.

36

strpos()

Tìm vị trí đầu tiên lặp của một xâu trong
một xâu khác.

37


strrchr()

Tìm vị trí cuối cùng của một xâu trong
một xâu khác.

38

strrev()

Đảo một xâu.

39

strripos()

Tìm vị trí cuối của một xâu có trong một
xâu khác( không xét hoa thường).

40

strrpos()

Tìm vị trí cuối của một xâu có trong
một xâu khác( có xét hoa thường).

41

strspn()


Trả lại số lần các ký tự được tìm thấy
trong xâu.

42

strstr()

Tìm điểm trùng của một xâu trong một
xâu khác.

43

strtok()

Tách xâu qua xâu nhỏ hơn.

44

strtolower()

Chuyển xâu sang dạng thường.

45

strtoupper()

Chuyển xâu sang dạng hoa.

46


strtr()

Viết lại xâu theo quy tắc có sẵn.

47

substr()

Trả lại một phần của xâu.

48

substr_compare()

So khớp hai xâu ký tự.

49

substr_count()

Đếm số lần một sâu lặp trong xâu khác.

50

substr_replace()

Thay thể một phần của xâu bằng xâu
khác.

51


trim()

Bỏ ký tự cách khỏi đầu và cuối xâu.
13


52

ucfirst()

Chuyển kí tự đầu của xâu lên viết hoa.

53

ucwords()

Chuyển ký tự đầu tiên của các từ trong
xâu sang viết hoa.

54

vfprintf()

Hiện thỉ biến theo định dạng nhất định.

55

vprintf()


Hiện thỉ biến.

56

vsprintf()

Hiện thỉ biến ra một biến.

57

wordwrap()

Gói xâu lại theo một số lượng ký tự nhất
định.
Bảng 1.1: Các hàm trong PHP

 Mảng
Mảng trong PHP được định nghĩa là một biến có thể lưu được nhiều hơn
một giá trị. Các giá trị trong mảng có thể được truy cập thông qua các chỉ số của
mảng.
Trong PHP có 3 loại mạng:
 Mảng số: là mảng có chỉ số là các chữ số.
 Mảng liên đới: là mảng mà mỗi chỉ số được gắn với một giá trị.
 Mảng đa chiều: là mảng có thể chứa một hay nhiều các mảng khác.

 Các cấu trúc điều khiển và lặp
 IF
Cú pháp
if (condition) code to be executed if condition is true;
 IF ELSE

Cú pháp
if (condition)
{
code to be executed if condition is true;
}

14


else
{
code to be executed if condition is false;
}
 IF ELSEIF ELSE
Cú pháp:
if (condition)
{
code to be executed if condition is true;
}
elseif (condition)
{
code to be executed if condition is true;
}
else
{
code to be executed if condition is false;
}
 SWITCH
Cú pháp
switch (n)

{
case label1:
code to be executed if n=label1;
break;
case label2:
code to be executed if n=label2;
break;
15


default:
code to be executed if n is different from both label1 and label2;
}
 Lệnh lặp
 FOR
for ( $biến = giá_trị_đầu; $biến < (hay <=) giá_trị_kết_thúc;
tăng_biến_đếm)
{
// Khối câu lệnh
}
//Vd:
for ( $i = 1; $i <10; ++$i)
{
echo (“Giá trị của biến $i là: “.$i);
}
 WHILE
// Ghi lai voi ten file la giaithua.php
$giaithua=1;
$i=1;

while ( $i<=$n) {
$giaithua*=$i;
$i+=1;
if ($i>8 ) {
echo (“Chi tinh den 8! <BR>”);
break;
}
}
16


echo (“Ket qua la: “.$giaithua); ?>

 Truyền nhận dữ liệu (POST/GET)
POST và GET là hai phương thức để bắt được dữ liệu từ người sử dụng.
POST thường được sử dụng để bắt dữ liệu từ form và với GET dữ liệu thường
được lấy từ địa chỉ URL. Dữ liệu trên PHP nhận về đối với cả hai phương thức đều
sẽ là dạng mảng PHP.
 POST
Như đã đề cập ở trên, POST thường được sử dụng nhận dữ liệu từ form.
Sau khi form được submit tới server, dữ liệu trong form (các input và giá trị của
chúng) sẽ được lưu trữ lại trong mảng POST[] với tên khóa và giá trị tương ứng.
Cú pháp để nhận dữ liệu
$_POST['tên trương input’] = "Giá trị người dùng đã nhập được gửi tới";
 GET
Phương thức này dữ liệu có thể được nhận từ form hoặc URL (đường dẫn
của site). Dữ liệu nhận được với GET cũng ở dạng mảng, với phần từ là các cặp
giá trị khóa và thuộc tính tương ứng với các input của form hoặc cặp giá trị trên
URL.
Cú pháp nhận dữ liệu:

$_GET['tên trường input’] = "Giá trị người dùng đã nhập được gửi tới";
Hoặc
$_GET[‘tên biến URL’] = "Giá trị tương ứng";

 Cookies, Sessions
 COOKIES
Cookies là một file nhỏ server lưu trong máy người sử dụng. Nó thường
được dùng để lưu các thông tin người sử dụng. Khi cùng một máy tình kết nối tới
server với một trình duyệt thì nó cũng gửi cookies này tới cho server. Với PHP ta
có thể ghi và đọc cookies.
 SESSION
17


Một session trong PHP là biến trên server dùng để lưu trữ thông tin của một
người sử dụng, nó sẽ tồn tại và có thể truy cập được với mọi trang trong cùng một
ứng dụng của người sử dụng.
Một session được bắt đầu khi người sử dụng bắt đầu mở làm viêc với ứng
dụng và kết thúc khi tắt nó. Session cho phép ta có thể lưu thông tin người dùng
trên server, giúp cho các dữ liệu lưu tại đây có thể được truy cập lại, với các page
khác nhau của ứng dụng. Tuy nhiên dữ liệu trong session chỉ mang tính chất tạm
thời, khi ứng dụng đó bị đóng lại (người dùng rời khỏi trang) session đó sẽ kết
thúc, nếu ta muôn lưu lại một cách chắc chắn thì cần sử dụng cơ sở dữ liệu.
Các giao dịch (transaction) khi xử lí vẫn còn gặp sai sót.
 1.2. Tổng quan MYSQL

 1.2.1. MySLQ là gì?
MySQL được phát triển và hỗ trợ bởi công ty MySQL AB của Thụy Điển.
Nó là hệ thống quản trị cơ sở dữ liệu (DBMS) cho các cơ sở dữ liệu quan hệ (vì
vậy, MySQL là một RDBMS). Cơ sở dữ liệu là một tập hợp các dữ liệu có liên

quan với nhau, có thể là văn bản, số hoặc các tập tin nhị phân được lưu trữ có tổ
chức bởi DBMS.

 1.2.2. Đặc điểm của MySQL
MySQL là một phần mềm quản trị cơ sở dữ liệu dạng server-based (gần
tương đương với SQL server của Microsoft).
MySQL quản lý dữ liệu thông qua các cơ sở dữ liệu, mỗi cơ sở dữ liệu có
thể có nhiều bảng quan hệ chứa dữ liệu.
MySQL có cơ chế phân quyền người sử dụng riêng, mỗi người dùng có thể
được quản lý một hoặc nhiều cơ sở dữ liệu khác nhau, mỗi người dùng có một tên
truy cập (user name) và mật khẩu tương ứng để truy xuất đến cơ sở dữ liệu.
Khi ta truy vấn tới cơ sở dữ liệu MySQL, ta phải cung cấp tên truy cập và
mật khẩu của tài khoản có quyền sử dụng cơ sở dữ liệu đó. Nếu không, chúng ta sẽ
không làm được gì cả.
18


 1.2.3. Các kiểu dữ liệu trong cơ sở dữ liệu MySQL
a) Loại dữ liệu numeric
Loại

Range

Bytes

Diễn giải

Tinyint

-127 ->128 hay 0..255


1

Số nguyên rất nhỏ

Smallint

-32768 -> 32767 hay 0..65535

2

Số nguyên nhỏ

Mediumint

-8388608

838860

hay3

Số nguyên vừa

Int

-231 -> 231 hay 0..232-1

4

Số nguyên


Bigint

-263 -> 263 hay 0..264-1

8

Số nguyên lớn

Float

Phụ thuộc số thập phân

->

0..16777215

Số thập phân dạng
Single hay Double

Float(M,D)

±1.175494351E-38

4

±3.40282346638
Double(M,D)

Số thập phân dạng

Single

±1.7976931348623157308
±2.2250738585072014E-308

Float(M[,D])

8

Số thập phân dạng
Double
Số chấm động lưu
dưới dạng char

b) Loại dữ liệu Date and Time
Loại
Date

Range
1000-01-01

Diễn giải
Date trình bày dưới dạng YYYY-mmdd

Time

00:00:00

Time trình bày dưới dạng hh:mm:ss


23:59:59
DateTime

1000-01-01

Date và Time trình bày dưới dạng

00:00:00

YYY-mm-dd hh:mm:ss

9999-12-31
23:59:59

19


TimeStamp[(M)]

Year[(2|4)]

1970-01-01

TimeStamptrìnhbàydướidạng

00:00:00

YYYY-mm-dd hh:mm:ss

1970-2069


Year trình bày dưới dạng 2 số hay 4 số

1901-2155

Trình bày đại diện của TimeStamp
Loại

Hiển thị

TimeStamp

YYYYMMDDHHMMSS

TimeStamp(14)

YYYYMMDDHHMMSS

TimeStamp(12)

YYMMDDHHMMSS

TimeStamp(10)

YYMMDDHHMM

TimeStamp(8)

YYYYMMDD


TimeStamp(6)

YYMMDD

TimeStamp(4)

YYMM

(y = năm, m = tháng, d = ngày)
c) Loại dữ liệu String
Loại

Range

Char
Varchar
Tinyblob

1-255 ký tự
1-255 ký tự
28-1

Tinytext
Blob
Text

28-1
216-1
216-1


Text

216-1

Mediumblob

224-1

Mediumtext

224-1

Longblob

232-1
20

Chiều dài của chuỗ
Chiều dài của chuỗ
Khai báo cho Fie
tự
Khai báo cho Field
Khai báo cho Fie
Khai báo cho Field
tự.
Khai báo cho Field chứa kiểu chu
ký tự.
Khai báo cho Field chứa kiểu b
Vừa khoảng 16777215 ký tự.
Khai báo cho Field chứa kiểu chuỗ

16777215 ký tự.
Khai báo cho Field chứa kiểu b
lớn khoảng 4294967295 ký tự.


Longtext

232-1

Khai báo cho Field
4294967295 ký tự.

 1.2.4. Câu lệnh truy vấn cơ bản của MySQL
 Hiển thị tất cả database trong mysql server:
SHOW DATABASES;

 Tạo một database: CREATE DATABASE {tên database};
Ví dụ tạo một database có tên là "champiblog" như sau:
create database champiblog;

 Xóa một database: DROP DATABASE {tên database};
Ví dụ khi muốn xóa database có tên là "champiblog"
DROP DATABASE champiblog;

 Tạo một bảng: CREATE TABLE [tên table] (cột 1, cột 2...);
Ví dụ muốn tạo một table có tên là "member" có hai cột dữ liệu là "userid"
và "username": CREATE TABLE member (userid int(7), username text);

 Nhập dữ liệu vào bảng: INSERT INTO [tên table] ([cột 1],[cột 2],......)
VALUES (giá trị 1, giá trị 2,....);

Vị dụ nhập dữ liệu cho table "member" đã được tạo ở trên: INSERT INTO
member (userid,username) VALUES (1,'champi');

 Lấy dữ liệu từ table: SELECT {tên cột muốn hiển thị} FROM [tên
table];
Ví dụ lấy tất cả các cột: SELECT * FROM member;
Hoặc là chỉ lấy 1 số cột nhất định: select username from member;

 Sửa đổi dữ liệu trong table: UPDATE [tên table] SET [cột muốn sửa]
='giá trị mới' WHERE [điều kiện] = 'giá trị';
Ví dụ muốn sửa tên thành viên "champi" thành "anh champi" (userid của
champi = 1): UPDATE member SET username='anh champi' WHERE userid = 1;

 Đếm số data có trong table: SELECT COUNT FROM [tablename];
21

chứa


Ví dụ: SELECT COUNT FROM member;

 Xóa dữ liệu: DELETE FROM [tablename] WHERE....;
Ví dụ: DELETE FROM member WHERE userid=1;
 Xóa table: DROP TABLE [tên table];
Ví dụ :DROP TABLE member;
 1.3. Giới thiệu về Wordpress

 1.3.1. Wordpress là gì?
WordPress là một dạng phần mềm mã nguồn mở được Christine Selleck đề
xuất . Mọi người biết đến WordPress đơn giản là để viết Blog, để đăng tải thông

tin của mình lên mạng nhưng không đơn giản như vậy, WordPress còn có chức
năng như mọi Website khác. Nó có thể làm site tin tức, đánh giá, bán hàng, thậm
chí làmạng xã hội. Các bạn có thể ứng dụng wordpress để tạo cho mình 1 website
trên nền wordpress , 1 website được tạo ra nhanh chóng đơn giản mà lại tiện cho
việc quảng bá sản phẩm , thông tin , kiến thức ….WordPress được viết bằng ngôn
ngữ lập trình PHP và sử dụng MySQL database.
Ứng dụng Wordpress trong nhiều lĩnh vực như:
 Trang Web của các tổ chức hoặc của các cổng thông tin (Portal).
 Thương mại điện tử.
 Trang Web cho các công ty cỡ nhỏ.
 Ứng dụng cho các cơ quan hành chính.
 Trang Web cho các trường học và nhà thờ.
 Trang Web cá nhân và gia đình.
 Các cổng thông tin cộng đồng.
 Trang Web báo điện tử và tạp chí.

 1.3.2. Những đặc điểm nổi bật của WordPress
 Cài đặt đơn giản và cực kì nhanh chóng, với trình cài đặt 5 phút nổi
tiếng .
22


 Hệ thống Plugin phong phú và cập nhật liên tục, bạn cũng có thể tự viết
plugin cho mình.
 Hỗ trợ nhiều ngôn ngữ ( bao gồm cả tiếng Việt ).
 Được cập nhật, vá lỗi và hỗ trợ liên tục.
 Có rất nhiều Theme miễn phí, chuyên nghiệp và SEO rất tốt.
 Dễ dàng quản lý và thao tác, việc quản lý blog, bài viết giống như các
phần mềm thiết kế web chuyên nghiệp.
 Tích hợp sẵn Latex – công cụ soạn thảo công thức toán học, bạn có thể

viết công thức toán học ngay trong bài viết.
 Upload và quản lý hình ảnh một cách dễ dàng, đặc biệt là chức năng tạo
thumbnail rất hay.
 Có một hệ thống Widget đa dạng ( ứng dụng tạo thêm ) như Thống kê
số người truy cập, danh sách các bài viết mới, các bài viết nổi bật, được xem nhiều,
được comment nhiều, liệt kê các chuyên mục.
 Thống kê số truy cập từng ngày đối với mỗi bài viết của blog. Trên cơ
sở đó bạn sẽ có định hướng nên viết gì tiếp theo.
 Hệ thống quản lý và duyệt Comment rất hay, có thể chặn spam theo IP.
 Hệ thống phân quyền với nhiều cấp độ khác nhau như: Administrator,
Author, Editor, Contributer, Subcriber.
 Sao lưu dữ liệu một cách dễ dàng để backup hoặc chuyển nhà sang một
nơi khác.
 Hỗ trợ import đa năng từ các blog khác như Blogspot, Tumblr, Blogger,
LiveJournal …
 WordPress hỗ trợ 3 GB để lưu trữ hình ảnh và văn bản.
 Và đặc biệt mới đây nhất WordPress hỗ trợ việc quản lý blog qua mobile
rất thuận tiện và dễ dàng.

 Cài đặt và cấu hình Wordpress
23


Để tải gói cài đặt mới nhất của WordPress, các bạn truy cập vào
website để chọn tải về bản WordPress Tiếng Anh.
Sau khi tải về, các bạn giải nén file đó ra, chúng ta sẽ có 1 thư mục tên
wordpress. Các bạn truy cập vào tên miền tương ứng trên host hoặc localhost để
bắt đầu quá trình cài đặt. Đầu tiên, WordPress sẽ yêu cầu ta tạo file wp-config.php
chứa các cấu hình database. Các bạn chọn Create a Configuration File như sau:


Hình 1.1: Create a Configuration File
Tiếp tục, nhấn Let’s Go và bạn nhập các thông tin cơ sở dữ liệu đã thiết lập:

24


Hình 1.2: Nhập các thông tin cơ sở dữ liệu
 Database Name: Tên database
 User Name: Tên user
 Password: Mật khẩu user
 Database Host: địa chỉ host của database
 Table Prefix: giữ nguyên
Nhập xong, các bạn nhấn Submit và ấn nút Run Install để bắt đầu cài đặt.
Tiếp theo chúng ta sẽ nhập các thông tin cần thiết cũng như tạo tài khoản
admin cho website, sau đó nhấn Install WordPress để hoàn thành quá trình cài
đặt.

 PHÂN TÍCH THIẾT KẾ HỆ THỐNG
 Khảo sát và phân tích thiết kế bài toán

 2.1.1. Giới thiệu chung về Trường THPT Lê Quý Đôn – Thái Bình
Tên trường: Trung học phổ thông Lê Quý Đôn
Địa chỉ: Số 343 - Phố Lý Bôn – Thành phố Thái Bình – Tỉnh Thái Bình
Điện thoại: 0363838527
Fax: 0363555877
Hiệu Trưởng: Thầy Vũ Minh Thuật
Phó Hiệu Trưởng: Cô Hà Thanh Vân
Số cán bộ giảng dạy English: 20/150 cán bộ
Sơ đồ cơ cấu tổ chức của Trường:


25


×