Tải bản đầy đủ (.docx) (43 trang)

Báo cáo thực tập xây dựng website trường THPT

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 (1.62 MB, 43 trang )

BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
-------------------------------

BÁO CÁO THỰC TẬP CUỐI KHÓA
ĐỀ TÀI:
THIẾT KẾ WEBSITE QUẢN LÝ
TRƯỜNG TRUNG HỌC PHỔ THÔNG
THANH OAI A

GIÁO VIÊN HƯỚNG DẪN: MAI MẠNH TRỪNG
SINH VIÊN NHÓM: NHÓM 5
LỚP: ĐHTIN8A1HN

HÀ NỘI - NĂM 2018


BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
-------------------------------

BÁO CÁO THỰC TẬP CUỐI KHÓA
ĐỀ TÀI:
THIẾT KẾ WEBSITE QUẢN LÝ
TRƯỜNG TRUNG HỌC PHỔ THÔNG
THANH OAI A

GIÁO VIÊN HƯỚNG DẪN: MAI MẠNH TRỪNG
SINH VIÊN NHÓM: NHÓM 5
1. ĐỖ ĐÌNH MẠNH ( NHÓM TRƯỞNG)
2. TRỊNH THỊ THƠ


3. CHU THỊ THỦY
LỚP: ĐHTIN8A1HN

Hà Nội - Năm 2018


LỜI MỞ ĐẦU
Ngày nay, chúng ta đang sống trong kỷ nguyên của tin học nhờ sự phát triển
vượt bậc, sự bùng nổ mạnh mẽ của công nghệ thông tin. Công nghệ thông tin
không chỉ dừng lại ở phục vụ cho khoa học kĩ thuật mà còn đi sâu vào đời sống,
chính trị, kinh tế, xã hội, trở nên thân thiện, gần gũi, mang lại nhiều lượi ích cho con
người. Công nghệ thông tin ngày càng khẳng định được tính hữu dụng và sức mạnh
trong mọi phương diện, mọi ngành nghề của cuộc sống, nhất là trong thời đại kinh
tế thị trường như bây giờ.
Đi kèm theo đó, là các hệ thống website cũng phát triển không ngừng với đủ các
lĩnh vực: văn hóa, thời sự, khoa học công nghê, làm đẹp, nấu ăn, thể thao, ca nhạc,
giáo dục, y tế... Tuy nhiên để tạo ra 1 trang web có sức sống bền lâu thì bản thân nó
phải mang lại lợi ích cho nhiều người. Giao diện bắt mắt là yếu tố quan trọng để
người dùng click chuột đến website của bạn. Nhưng yếu tố quyết định giữ chân
người dùng là nội dung mà website cung cấp.
Trong học kỳ này, được sự giúp đỡ của thầy Mai Mạnh Trừng và với các kiến
thức chúng em đã được học, chúng em đã hoàn thành báo cáo thực tập cuối khóa
của mình với đề tài “ Thiết kế website quản lý Trường trung học phổ thông Thanh
Oai A”. Tuy nhiên, với tầm hiểu biết còn hạn hẹp, kiến thức về thiết kế và lập trình
web chưa nhiều, kinh nghiệm bài viết còn ít, không tránh khỏi thiếu sót. Rất mong
được sự góp ý của các thầy cô và các bạn để bản báo cáo của chúng em được hoàn
thiện hơn.
Chúng em trân trọng cảm ơn thầy cô!

Hà Nội, ngày 28 tháng 2 năm 2018



DANH MỤC CÁC TỪ VIẾT TẮT
Từ viết
tắt
CGI

Ý nghĩa
Computer- generated imagery

Dịch nghĩa

CSDL
DHTML

Cơ sở dữ liệu
Dynamic Hyper Text Markup
Language

Công nghệ mô phỏng hình ảnh
bằng máy tính
Cơ sở dữ liệu
Ngôn ngữ đánh dấu siêu văn bản
năng động

HTML

Hyper Text Markup Language

Ngôn ngữ đánh dấu siêu văn bản


Perl

Practical Extraction and Report
Language

Ngôn ngữ kết xuất và báo cáo
thực dụng

PHP

Hypertext Preprocessor

Ngôn ngữ lập trình kịch bản

WWW

World Wide Web

Mạng lưới toàn cầu

DANH MỤC CÁC BẢNG


STT
1
2
3
4
5

6
7
8
9
10
11
12
13

Số hiệu bảng
Bảng 2.1
Bảng 2.2
Bảng 2.3
Bảng 2.4
Bảng 2.5
Bảng 2.6
Bảng 2.7
Bảng 2.8
Bảng 2.9
Bảng 2.10
Bảng 2.11
Bảng 2.12
Bảng 2.13

Tên bảng
Bảng quản lý
Bảng giáo viên
Bảng học sinh
Bảng phụ huynh
Bảng môn học

Bảng lớp
Bảng điểm chi tiết
Bảng điểm
Bảng điểm rèn luyện
Bảng học kỳ
Bảng giáo viên dạy lớp
Bảng tin tức
Bảng cate tin tức

DANH MỤC CÁC HÌNH
STT

Số hiệu hình

Tên hình


1
2
3
4
5
6
7
8
9
10
11
12
13

14
15
16
17
18
19
20
21
22
23

Hình 2.1
Hình 2.2
Hình 3.1
Hình 3.2
Hình 3.3
Hình 3.4
Hình 3.5
Hình 3.6
Hình 3.7
Hình 3.8
Hình 3.9
Hình 3.10
Hình 3.11
Hình 3.12
Hình 3.13
Hình 3.14
Hình 3.15
Hình 3.16
Hình 3.17

Hình 3.18
Hình 3.19
Hình 3.20
Hình 3.21

Biểu đồ phân cấp chức năng
Biểu đồ mức ngữ cảnh
Logo trường
Trang chủ
Giới thiệu trường
Thông tin các hoạt động của nhà trường
Thông tin liên hệ
Đăng nhập
Trang quản trị của Admin
Quản lí giáo viên
Thêm giáo viên
Quản lí học sinh
Thêm thông tin học sinh
Quản lí môn học
Phân bổ lớp học
Quản lí tin tức
Quản lí thể loại tin tức
Thêm tin tức
Quản lí điểm rèn luyện
Thông tin lớp phụ trách
Cập nhật điểm rèn luyện
Xem điểm
Trang xem điểm của học sinh

CHƯƠNG 1: TỔNG QUAN VỀ THIẾT KẾ WEBSITE



1.1- Tổng quan về website, công nghệ phát triển web
1.1.1- Khái niệm Website
Website là một tập hợp các trang web (web pages) bao gồm văn bản, hình ảnh,
video, flashv.v… thường chỉ nằm trong một tên miền (domain name) hoặc tên miền
phụ (subdomain). Trang web được lưu trữ ( web hosting) trên máy chủ web (web
server) có thể truy cập thông qua Internet.
Website đóng vai trò là một văn phòng hay một cửa hàng trên mạng Internet –
nơi giới thiệu thông tin về doanh nghiệp, sản phẩm hoặc dịch vụ do doanh nghiệp
cung cấp… Có thể coi website chính là bộ mặt của doanh nghiệp, là nơi để đón tiếp
và giao dịch với các khách hàng, đối tác trên Internet.

1.1.2- Lịch sử hình thành
6/8/1991 là một ngày đáng nhớ bởi đó là thời điểm mã máy tính "non nớt" cho
www được đăng trên alt.hypertext để mọi người có thể tải và tìm hiểu nó. Cũng bắt
đầu từ hôm ấy công nghệ web được thế giới biết đến.
Jeff Groff, người cùng tham gia viết mã với Berners-Lee, cho biết ý tưởng tạo
dựng web thực ra được hình thành rất đơn giản: "Chúng tôi luôn nghĩ rằng người sử
dụng không cần phải xoay sở với những vấn đề kỹ thuật phức tạp". Web giống như
một tấm khăn trải giường với nhiệm vụ cố che phủ sự rắc rối của những dữ liệu
được lưu hành trên Internet.
Paul Kunz, nhà khoa học đã thiết lập máy chủ web đầu tiên ở châu Âu vào tháng
12/1991, cho biết đầu thập niên 90, máy tính giống như những "ốc đảo" thông tin.
Một lần đăng nhập chỉ có thể truy cập tài nguyên của một hệ thống. Chuyển sang
máy tính khác đồng nghĩa với việc họ phải đăng nhập thêm lần nữa và phải sử dụng
những bộ lệnh khác nhau để truy xuất dữ liệu.
Web đã lôi kéo sự chú ý của Kunz khi ông chứng kiến Berners-Lee trình diễn
khả năng hoạt động của web trên hệ thống IBM. Sau đó, Kunz đã thiết lập máy chủ
web, cho phép các chuyên gia vật lý rà soát hơn 200.000 dữ liệu dễ dàng hơn bao

giờ hết.
Tuy nhiên, dù các nhà vật lý đã bị web quyến rũ, đa số mọi người lại không nhận
biết được khả năng tiềm ẩm của nó. Kunz cho rằng điều này là do nhiều tổ chức
cũng đang thực hiện ý tưởng tương tự. Công nghệ nổi tiếng nhất khi đó là Gopher


của Đại học Minnesota (Mỹ), cũng với tham vọng hóa giải sự phức tạp của những
máy tính kết nối Internet. Gopher được ra mắt vào mùa xuân năm 1991 và lưu
thông Gopher cao hơn hẳn so với lưu thông web trong vài năm tiếp theo.
Dự án www chỉ thực sự thăng hoa khi chuyên gia Marc Andreessen thuộc Đại
học Illinois (Mỹ) giới thiệu trình duyệt web máy tính đầu tiên vào tháng 4/1993.
Trình duyệt Mosaic đã quá thành công và một số tính năng vẫn được coi là quy ước
trong công nghệ web ngày nay. Cũng vào năm 1993, Đại học Minnesota thu phí
Gopher khiến người ta bắt đầu phải tìm đến các giải pháp thay thế.
Ngoài ra, theo Ed Vielmetti, nhà nghiên cứu thuộc Đại học Michigan, ngay từ
những năm đầu, web đã chứng minh được tính hữu ích với người sử dụng thông
thường. Mọi người có thể sử dụng các trang web để tự bộc lộ mình, điều mà những
công nghệ khác không cho phép (hình thức mới hiện nay của nó chính là blog).
Cuối năm 1994, lưu thông web rốt cuộc cũng vượt qua Gopher và từ đó chưa
bao giờ bị tụt lại. Hiện nay, gần 100 triệu website đã xuất hiện và người ta gần như
đồng nhất công nghệ web với Net.
Kunz cho biết ý tưởng hình thành www là để tạo điều kiện cho mọi người vừa
đọc vừa đóng góp nội dung. Những công cụ mới như site chia sẻ ảnh, mạng xã hội,
blog, các trang wiki... đang dần hoàn thành lời hứa ban đầu của nhóm chuyên gia
phát triển web.

1.1.3- Các yêu cầu tối thiểu của 1 trang web
Để 1 Website có thể hoạt động được cần có tên miền (domain), không gian lưu trữ
trên máy chủ ( hosting) và nội dung ( các trang web).
- Tên miền là tên địa chỉ chính của website, ví dụ www.dantri.com là tên miền

của website hay địa chỉ để người xem dùng để truy cập vào website. 1 website nhất
thiết phải có tên miền nhưng cũng có thể có nhiều tên miền trỏ vào. Có nhiều loại
tên miền như:
… www.abc.com: tên miền quốc tế ( .net, .biz, .org,...)
… www.abc.com.vn: tên miền quốc gia
… www.abc.com/xyz/ ( xyz là tên miền con của website abc) : tên miền
phụ ( sub domain)


… v..vv...
- Lưu trữ website: Dữ liệu của 1 website phải được lưu trữ trên 1 máy tính ( máy
chủ- server) luôn hoạt động và kết nối với Internet. 1 server có thể lưu trữ nhiều
website, nếu server này bị sự cố chảng hạn tắt trong 1 thời điểm nào đó thì không ai
có thể truy cập được website lưu trữ trên server tại thời điểm bị sự cố.
- Hosting : là không gian trên 1 ổ đĩa của máy chủ server để lưu nội dung website
nhằm làm cho bất kỳ ai cũng có thể truy cập vào nội dung này bất kỳ lúc nào, bất kỳ
nơi nào. Máy chủ phải hoạt động 24/24. Một website nhất định phải có hosting thì
mới hoạt động được.

1.1.4- Web tĩnh
Trang web tĩnh thường được viết bằng ngôn ngữ HTML, DHTML,...
Trang web tĩnh thường được dùng để thiết kế các trang web có nội dung ít cần
truy cập và thay đổi.
Website tĩnh là website chỉ bao gồm các trang web tĩnh và không có cơ sở dữ liệu
đi kèm.
Website tĩnh thường thích hợp với cá nhân, tổ chức, doanh nghiệp vừa và nhỏ
mới làm quen với môi trường internet.
* Ưu điểm:
+ Thiết kế đồ họa đẹp.
+ Tốc độ truy cập nhanh.

+ Thân thiện hơn với các máy tìm kiếm.
+ Chi phí đầu tư thấp.
* Nhược điểm:
+ Khó khăn trong việc cập nhật và thay đổi thông tin.
+ Thông tin không có tính linh hoạt, thân thiện với người dùng.
+ Khó tích hợp, nâng cấp, mở rộng.


1.1.5- Web động
Website động là website có cơ sở dữ liệu, được cung cấp công cụ quản lý website
( Admin Tool).
Với web động, thông tin được gọi ra từ 1 cơ sở dữ liệu khi người dùng truy vấn
đến 1 trang web. Trang web được gửi tới trình duyệt gồm những câu chữ, hình ảnh,
âm thanh hay những dữ liệu số hoặc ở dạng bảng hoặc ở nhiều dạng khác nữa.
Web động thường được phát triển bằng các ngôn ngữ tiên tiến hơn như PHP, ASP,
ASP.NET, Java,... và sử dụng các cơ sở dữ liệu quan hệ mạnh như Access, My SQL,
MS SQL,...
Thông tin trên web động luôn mới vì nó dễ dàng được cập nhật thường xuyên
qua việc sử dụng các công cụ cập nhật của các phần mềm quản trị web. Web động
có tính tương tác với người dùng cao.
Tất cả các trang web thương mại điện tử, các mạng thông tin lớn, các website
của các tổ chức, doanh nghiệp hoạt động chuyên nghiệp trên Net đều sử dụng web
động.

1.1.6 - Thiết kế web
1.1.6.1- Khái quát chung
Bước đầu tiên trong công đoạn thiết kế một website là phải có những quyết
định chắc chắn về việc sẽ xuất bản cái gì với website của mình. Tránh việc website
trở nên lan man, sa lầy vào những mục tiêu không rõ ràng.
Trước khi xây dựng một website nên:

+ Xác định đối tượng người sử dụng website
+Website có mục đích rõ ràng.
+Thiết lập chủ đề chính của website
+Thiết kế các khối thông tin chủ yếu mà website sẽ cung cấp.
1.1.6.2- Các bước để thiết kế 1 trang web
Bước 1: Phân tích người dùng và tự đánh giá chính mình


Cần phải biết các thông tin về người dùng như độ tuổi, sở thích, nhu cầu,... để
tránh đưa ra một trang web không có tác dụng.
Một điều quan trọng nữa là người thiết kế website cần làm là phải phân tích các
mối quan tâm và khả năng của chính mình. Bản thân người thiết kế có tạo ra một
trang web ấn tượng không, có đủ chuyên môn để tạo ra 1 trang web có đầy đủ thông
tin yêu cầu hay không? Sau đây là một số kỹ thuật giúp người thiết kế thực hiện
bước đầu tiên này:
+ Mô tả mục tiêu: Mô tả mục tiêu một cách súc tích, rõ ràng, tránh rườm rà,
lan man. Việc xác định mục tiêu ảnh hưởng đến chất lượng của trang web rất nhiều
nên cần cẩn trọng trong việc này.
+ Xác định vấn đề giải quyết: Từ mô tả mục tiêu ở trên, nêu ra các vấn đề cần
giải quyết để đạt mục tiêu tóm tắt phương pháp giải quyết và các vấn đề liên quan.
+ Xác định người dùng: Xác định người dùng chính của website để có thể thiết
kế cấu trúc phù hợp với nhu cầu, mong muốn cũng như trình độ hiểu biết, sở thích
và yêu cầu của người dùng.
+ Liệt kê các nguồn tài nguyên: có sẵn những gì để hoàn thành công việc như
trình độ chuyên môn, trang thiết bị, công cụ phần mềm,...
+ Xây dựng bản tiến độ thực hiện.
Bước 2:Thiết kế các chức năng và cấu trúc trang
+ Phác thảo ý tưởng thiết kế: Là một yếu tố vô cùng quan trọng, có thể phác
thảo trên giấy hoặc máy tính.
+ Thiết kế đi từ trừu tượng đến cụ thể: Phải xác định khung của chức năng

trước rồi mới đưa nội dung vào.
Bước 3: Tìm cách trình bày ấn tượng và hiệu quả
Nay cả một cấu trúc tốt nhất cũng sẽ thất bại nếu việc trình bày thông tin
không trực quan và ấn tượng. Một cách trình bày ấn tượng và hiệu quả được đánh
giá không chỉ bằng cách trông nó thế nào mà còn xem nó có đóng góp như thế nào
vào quá trình đạt mục tiêu ban đầu.
Bước 4: Xây dựng nội dung


Người thiết kế có thể tiến hành đồng thời kết hợp cả nội dung và thiết kế
tương thích với nhau qua các bước:
+ Sửa đổi, hiệu chỉnh các nội dung đã có hoặc các nội dung có quyền sửa.
+ Xin hỗ trợ và cố vấn của các chuyên gia đối với các chủ đề ngoài lĩnh
vực chuyên môn.
+ Thiết lập liên lạc mật thiết với người tạo nội dung website .
+ Đảm bảo càng nhiều thông tin càng tốt.
+ Tạo một cấu trúc cây hợp lý cho nội dung vả thường xuyên sao lưu để
đảm bảo an toàn.
Bước 5: Thiết kế và kiểm tra khung trang web
Đây là bước chuyển các mô tả về chức năng, về thiết kế ban đầu sang một
thể hiện là các trang web cụ thể.
+ Liên lạc với người quản trị server để xem việc tổ chức các tập tin như
thế nào, các đặc tả có sẵn và các tập tin người dùng chưa sử dụng được.
+ Sử dụng các liên kết trong các trang tới các cấu trúc thư mục tương tự
như cấu trúc thư mục trên server.
+ Ghi nhận các ảnh thường được dùng trong việc truy xuất các trang thông
thường để đưa vào cache.
+ Thử nghiệm trên server để kiểm tra xem nó hoạt động đúng như thiết kế
không.
Bước 6: Đưa nội dung vào

Để việc đưa nội dung vào thật sự đơn giản, ăn khớp, cần phải giữ mối liên
lạc tốt giữa các thành viên liên quan như người thiết kế, người minh họa, người viết
nội dung,..
+ Trước tiên hãy cho các trang hoạt động cục bộ, riêng lẻ để dễ kiểm tra.
+ Làm việc theo module, nghĩa là cho nhóm các trang liên quan nhau hoạt
động trôi chảy trước khi mở rộng ra.
+Thay đổi một quyết định thiết kế trước đó nếu cần thiết.


Bước 7: Kiểm tra và đánh giá
+ Kiểm tra hoạt động của các liên kết nội bộ và các nguồn tài nguyên.
+ Kiểm tra độ chính xác của các liên kết ngoại.
+ Thử các trang với nhiều trình duyệt khác nhau.
+ Thử các trang ở tình trạng mức độ truy cập cao.
+ Thử các trang với nhiều dạng người dùng khác nhau.
1.2. Giới thiệu về ngôn ngữ PHP và MySQL
1.2.1- Ngôn ngữ PHP
1.2.1.1- Giới thiệu
PHP được dùng để thay thế cho Hypertext Preprocessor ( Bộ tiền xử lý siêu văn
bản) là một ngôn ngữ kịch bản nhúng HTML phía server. Phần lớn cú pháp của nó
mượn của C, Java, Perl. Ngoài ra, nó cũng có thêm một số đặc trưng riêng. Ngôn
ngữ PHP cho phép người pháp triển web động một cách nhanh chóng.
Khác với kịch bản CGI được viết trong một số ngôn ngữ khác như Perl hoặc C#
thay vào việc một chương trình với nhiều lệnh để xuất html, bạn chỉ cần viết một
kịch bản html với một vài mã nhúng để làm một việc gì đó. Mã nguồn của PHP
được đặt trong một cặp thẻ đặc biệt (‘’). Đặc điểm phân biệt PHP với một số ngôn
ngữ khác như Java script là mã của nó được thực hiện phía server. Các đoạn mã
PHP sẽ được thực hiện trên server trước khi truyền kết quả cho máy client, do đó
người dùng phía client sẽ không thể biết được đoạn mã thật của PHP. Đây cũng là
một giải pháp khá hay cho việc bảo mật mã nguồn của PHP.

1.2.1.2- Một số cú pháp cơ bản của PHP
a- Các thẻ chứa đoạn mã PHP
Có 4 cách để viết một đoạn mã PHP trong một trang web
+ Cách 1: Đoạn mã PHP được chứa trong cặp thẻ ‘<?echo và’ ?>’ cách này
chỉ thực hiện được khi thuộc tính cho phép dùng thẻ ngắn trong file cấu hình của
PHP được thiết lập là enable (thuộc tính này thường được để mặc định là enable).
Ví dụ: <?echo “Đây là cách thứ nhất”; ?>


+ Cách 2: đoạn mã PHP được chứa trong cặp thẻ ‘<?php’ và ‘?>’. Đây là
cách đầy đủ nhất của PHP.
Ví dụ : <?php echo “Đây là cách thứ hai”; ?>
+ Cách 3: đoạn mã PHP được chứa trong cặp thẻ ‘<script language = “php”>’
và ‘</script>’ cách này được đặt mặc định giống như các ngôn ngữ nhúng khác
trong các trang html.
Ví dụ:‘<script language = “php”> echo “Đây là cách thứ ba “; </script>
+ Cách 4: đoạn mã PHP được chứa trong cặp thẻ ‘<%>’ hoặc ‘<%=’ và ‘%’.
Cách này có tác dụng khi thuộc tính sử dụng các thẻ kiểu ASP được thiết lập là
enable trong file cấu hình của PHP.
Ví dụ: <% echo “ Đây là cách thứ tư”; ?>
<%= echo “ Đây là cách thứ tư”; ?>
b- Ngăn cách các lệnh
Các lệnh trong PHP được ngăn cách nhau bởi dấu chấm phẩy ‘;’ giống trong
ngôn ngữ C.
Thẻ đóng đoạn mã PHP ( ‘?>’) cũng có tác dụng kết thúc câu lệnh như dấu ‘;’.
c- Chú giải
PHP hỗ trợ các chú giải giống như C, C++ và các chú giải kiểu shell trong
Unix. Có hai cách chú giải :
+ Chú giải trên một dòng được bắt đầu bằng dấu ‘//’ các ký tự phía sau cặp
ký hiệu này đều được coi là phần chú thích.

Ví d ụ : echo “ Chú thích kiểu C++”; //một chú thích kiểu C++
?>
+ Chú giải trên nhiều dòng được ký hiệu bởi cặp dấu bắt đầu ‘/*’ và kết thúc
‘*/’ mọi ký tự trong cặp dấu này đều được coi là phần chú thích.
Ví d ụ : /* một ví dụ về
Chú thích nhiều dòng */
echo “Một ví dụ về chú thích trên nhiều dòng “;
?>


d- Kiểu
PHP hỗ trợ một số các kiểu sau:
- Kiểu mảng
Có hai loại kiểu mảng: mảng một chiểu và mảng nhiều chiều
Một số hàm hỗ trợ liên quan đến mảng trong PHP:
+ Các hàm tạo mảng : list( ), arrway( )
+Các hàm sắp xếp mảng: asort( ), arsorrt( ), ksort( )…..
+ Hàm đếm số phần tử mảng : count( )
+Các hàm duyệt mảng: next( ), prev( ), each( ).
- Các kiểu số
+ Các kiểu số con trỏ động có kích thước về độ lớn khác nhau. Độ lớn tối
đa của chúng xấp xỉ 1.8e308
+ Các kiếu số nguyên: PHP có các kiểu số nguyên giống như C. Tuy nhiên
kích thước của chúng đều là các số 32 bit.
Một số hàm liên quan đến kiểu số:
+ Các hàm lượng giác:sin( ), cos( ), Tan( ), acos( )..
+ Các hàm số học: abs( ), exp( ), pow( ),log( )….
+ Các hàm về cơ số: base_convert( ), bindec( ),decbin( )…

+ Các hàm làm tròn : ceil(), floor()…
+ Các hàm khác: getrandmax( ), rand( )…
- Các kiểu đối tượng
PHP cũng hỗ trợ việc khai báo các đối tượng giống như C++ các đối tượng
được khai báo như sau:
Class tên_lớp{
Khai báo các thuộc tính
Khai báo các phương thức
}
Để tạo một biến đối tượng sử dụng từ khóa new


- Kiểu sâu
Đây là kiểu hay dùng nhất trong PHP. Các quy tắc về xâu trong PHP giống
trong C. Các xâu được đặt trong cặp dấu ‘’ hoặc “”. Một số hàm liên quan đến xâu:
+ Các hàm in xâu: echo( ), print( ), printf( ), flush( ).
+ Các hàm xóa ký tự trắng: chop( ), trim ( ), rtrim( )
+ Các hàm xử lý xâu: strcmp( ), substr( ), str_replace( )…
+ Các hàm tìm kiếm xâu: strchr( ), strstr( ), stristr( )..
+ Hàm lấy độ dài xâu: strlen( )
e- Cấu trúc điều khiển
PHP có các cấu trúc điều khiển tương tự như C. Nó bao gồm:
- Cấu trúc rẽ nhánh
PHP có hai kiểu cấu trúc rẽ nhánh:
1. if (biểu thức) {[ Khối lệnh ] }
hoặc
if (biểu thức ) {
[ Khối lệnh 1]
}else {
[ Khối lệnh 2] }

2. switch (tên biến) {
case giá trị 1: [Khối lệnh 1]
case giá trị 2: [ Khối lệnh 2]
……… }
hoặc
switch (tên biến) {
case giá trị 1 :[ Khối lệnh 1]
case giá trị 2 :[Khối lệnh 2]
…………
Default:[Khối lệnh]
}


- Cấu trúc lặp
Có các kiểu lặp sau:
1. while (biểu thức) {
[ Khối lệnh ]
}
2. do {
[ Khối lệnh ]
} while (biểu thức)
3. foreach (biểu thức mảng as biến giá trị ) {
[ Khối lệnh ]
} Foreach ( biểu thức mảng as biến khóa => biến giá trị ) {
[ Khối lệnh ] }
4.

for (biểu thức 1; biểu thức 2; biểu thức 3 ) {
[ Khối lệnh ] }


- Cấu trúc khác
+ Require( ): Thay thế vị trí của câu lệnh này bằng mã lệnh của file cụ
thể. Hàm này giống như ký hiệu tiền xử lý trong C là #include
+ Include( ): Giống như hàm require nhưng nó còn làm thêm một thao tác
nữa là xác định file đó trước khi thay thế đoạn mã lệnh.
+ Require_once( ): Giống như hàm require( ) nhưng nó chỉ thay thế mã
lệnh của file một lần.
+ Include_once( ): Giống như hàm include( ) nhưng nó chỉ thay thế mã
lệnh của file một lần.


1.2.2- Hệ quản trị cơ sở dữ liệu MySQL
1.2.2.1- Giới thiệu về MySQL
Trước đây người ta thường dùng mSQL để kết thao tác cơ sở dữ liệu qua các
thủ tục. Mặc dù mSQL có thể cung cấp hầu hết các chức năng phục vụ cho việc
khai thác dữ liệu nhưng sau một thời gian kiểm thử dần dần xuất hiện các vấn đề về
nó, mSQL không đủ nhanh và linh hoạt như yêu cầu. Do đó, người ta đã nghĩ tới
một phiên bản SQL mới. MySQL ra đời ngay từ phiên bản đầu tiên nó đáp ứng gần
như khá hoàn hảo các yêu cầu của người sử dụng. MySQL được xây dựng chủ yếu
dựa trên các hàm API giống như trong mSQL. Người ta sử dụng trực tiếp các hàm
API truy cập hệ thống chứ không dùng các hàm trung gian của các công ty thứ ba
giống như trong mSQL do đó tốc độ của MySQL vượt xã so với mSQL trước đây.
Do nó có mã nguồn mở nên phiên bản MySQL phát triển rất nhanh. Nó được cung
cấp các tính năng ngày càng mạnh hơn, linh hoạt hơn phiên bản đầu tiên rất nhiều.
1.2.2.2- Hệ quản trị cơ sở dữ liệu MySQL
MySQL là một hệ quản trị cơ sở dữ liệu : Một CSDL là một tập hợp dữ liệu
có cấu trúc. Nó có thể là bất cứ thứ gì từ danh sách các loại hàng hóa đơn giản đến
một triển lãm tranh hay là một lượng lớn thông tin trên mạng. Để truy cập và xử lý
dữ liệu được lưu trữ trong cơ sở dữ liệu máy tính bạn cần phải có một hệ quản trị
CSDL như MySQL. Từ khi các máy tính trở thành một phương tiện khá tốt trong

việc điều khiển một lượng lớn dữ liệu, việc quản trị cơ sở dữ liệu đóng vai trò trung
tâm trong tính toán. Nó giống như một tiện ích độc lập hay một phần của các ứng
dụng khác.
MySQL là một hệ quản trị cơ sở dữ liệu quan hệ: Một cơ sở dữ liệu quan hệ
lưu trữ dữ liệu trong các bảng tách rời nhau thì thích hợp hơn là đưa tất cả dữ liệu
vào một nơi lưu trữ lớn. Điều này làm tăng tốc độ và tính mềm dẻo. Các bảng được
liên kết bởi các quan hệ được định nghĩa làm cho nó có thể kết nối dữ liệu ở các
bảng khác nhau trong một yêu cầu. SQL là một phần của MySQL. Nó là ngôn ngữ
được chuẩn hóa và được sử dụng phổ biến nhất để truy cập cơ sở dữ liệu.
1.2.2.3- Các câu lệnh thường dùng trong MySQL
a- Câu lệnh SELECT .... FROM

Câu lệnh SELECT ... FROM giúp chúng ta lấy dữ liệu trong bảng
Cú pháp:
SELECT danh_sach_cac_cot
FROM ten_bang
Ví dụ: Xuất ra danh sách các bài viết, thông tin cần lấy gồm mã, tiêu đề, tóm tắt,
ngày đăng
SELECT ma,tieu_de,tom_tat,ngay_dang
FROM bai_viet


* Một số thành phần mở rộng trong câu lệnh SELECT ... FROM
- Truy vấn có điều kiện WHERE
Cú pháp:
SELECT danh_sach_cac_cot
FROM ten_bang
WHERE dieu_kien_loc
Ví dụ: Xuất ra danh sách các bài viết có ngay_tao lớn hơn hoặc bằng ngày
20/10/2015, thông tin cần lấy gồm: ma, tieu_de, tom_tat, ngay_dang:

SELECT ma,tieu_de,tom_tat,ngay_dang
FROM bai_viet
WHERE ngay_tao >= '2015:10:20'
+ Một số toán tử trong mệnh đề WHERE
Cần chú ý thêm một số toán tử thường được dùng trong mệnh đề WHERE như sau:
Toán tử

Ý nghĩa

Ví dụ

LIKE

Lọc dữ liệu gần
giống với chuỗi cần
tìm

Tìm các bài viết có tiêu đề chứa từ 'php'.
WHERE tieu_de LIKE '%php%'
Chú ý: % Đại diện cho nhiều kí tự, _ Đại
diện cho 1 kí tự.

IN

Lọc dữ liệu nằm
trong danh sách

Tìm các bài viết có mã là 3,4,7,9
WHERE ma IN(3,4,7,9)


BETWEEN

Lọc dữ liệu nằm
giữa hai giá trị

Lấy ra danh sách bài viết trong năm 2015
WHERE ngay_tao BETWEEN '2015:1:1'
AND '2015:12:31’

- Nhóm dữ liệu với GROUP BY
Cú pháp:
SELECT danh_sach_cac_cot
FROM ten_bang
[WHERE dieu_kien_loc]
GROUP BY danh_sach_cot_can_nhom
+ Một số hàm thường đi chung với GROUP BY


Hàm

Ý nghĩa

AVG

Tính giá trị trung bình

COUNT

Đếm số lượng


MIN

Lấy giá trị nhỏ nhất

MAX

Lấy giá trị lớn nhất

SUM

Tính tổng

Ví dụ: Thống kê số lượng bài viết trong mỗi chủ đề. Danh sách cần lấy ma_chu_de,
ten_chu_de, so_luong
SELECT cd.ma as ma_chu_de, cd.ten as ten_chu_de, count(bv.ma) as so_luong
FROM bai_viet bv, chu_de cd
WHERE bv.ma_chu_de = cd.ma
GROUP BY bv.ma_chu_de
- Điều kiện lọc sau khi gom nhóm HAVING
Cú pháp:
SELECT danh_sach_cac_cot
FROM ten_bang
[WHERE dieu_kien_loc]
GROUP BY danh_sach_cot_can_nhom
HAVING dieu_kien_loc_sau_khi_nhom
Ví dụ: Thống kê các chủ đề có số lượng bài viết lớn hơn 10. Danh sách cần
lấy ma_chu_de, ten_chu_de, so_luong
SELECT cd.ma as ma_chu_de,cd.ten as ten_chu_de,count(bv.ma) as so_luong
FROM bai_viet bv,chu_de cd
WHERE bv.ma_chu_de = cd.ma

GROUP BY bv.ma_chu_de
HAVING COUNT(bv.ma) >10
- Sắp xếp dữ liệu với ORDER BY
Cú pháp:
SELECT danh_sach_cac_cot
FROM ten_bang
[WHERE dieu_kien_loc]
[GROUP BY danh_sach_cot_can_nhom]
ORDER BY danh_sach_cac_cot_can_sap_xep [DESC]
Chú ý: DESC dùng để sắp xếp giảm dần. Nếu không có DESC thì sắp xếp tăng dần


Ví dụ: Xuất ra danh sách các bài viết và sắp xếp theo ngày đăng giảm dần,
thông tin cần lấy gồm: ma, tieu_de, tom_tat, ngay_dang
SELECT ma, tieu_de, tom_tat,ngay_dang
FROM bai_viet
ORDER BY ngay_dang DESC
- Giới hạn số dòng cần lấy LIMIT
Cú pháp:
SELECT danh_sach_cac_cot
FROM ten_bang
[WHERE dieu_kien_loc]
[GROUP BY danh_sach_cot_can_nhom]
[ORDER BY danh_sach_cac_cot_can_sap_xep]
LIMIT n,m
Chú ý: n là vị trí bắt đầu, m là vị trí kết thúc; n<=m
Ví dụ: Lấy ra danh sách 5 bài viết mới nhất theo ngày đăng. Thông tin cần lấy
gồm: ma, tieu_de, tom_tat, ngay_dang
SELECT ma,tieu_de,tom_tat,ngay_dang
FROM bai_viet

ORDER BY ngay_dang DESC
LIMIT 0,5
b- Truy vấn con
Truy cấn con là một câu lệnh SELECT được lồng trong các câu lệnh truy vấn
khác nhằm thực hiện các truy vấn phức tạp.
Chú ý:
Truy vấn con phải nằm trong dấu ngoặc đơn ()
Truy vấn con chỉ được tham chiếu đến 1 cột hoặc một biểu thức.
Kết quả trả về của truy vấn con có thể là một giá trị hoặc một danh sách
* Truy vấn con trả về một giá trị
Ví dụ:
SELECT ma,tieu_de,tom_tat,ngay
FROM bai_viet
WHERE ngay = (SELECT MAX(ngay) FROM bai_viet)
* Truy vấn con trả về một danh sách các giá trị
Ví dụ:
SELECT bv.ma,bv.ten,bv.tom_tat,bv.ngay,(SELECT COUNT(*) FROM
chu_de cd WHERE cd.ma = bv.ma) as so_luong
FROM bai_viet bv


c- Câu lệnh INSERT INTO
Câu lệnh INSERT INTO cho phép chúng ta thêm mới một hay nhiều dòng
dữ liệu vào bảng.
Cú pháp:
INSERT INTO Ten_bang [(Danh sách các cột)]
VALUES (Danh sách các giá trị)
Ví dụ:
INSERT INTO bai_viet (ma, tieu_de, tom_tat,ngay)
VALUES (1,"Hướng Dẫn Lập Trình PHP","Website hỗ trợ lập trình php

từ căn bản đến nâng cao.",2016-01-01)
d-. Câu lệnh UPDATE
Câu lệnh UPDATE dùng để cập nhật hay chỉnh sửa lại dữ liệu bên trong bảng.
Cú pháp:
UPDATE Tên_Bảng
SET Tên_cột = Giá_trị
WHERE Điều_kiện_cập_nhật
Ví dụ:
UPDATE bai_viet
SET ngay = 2016-01-02
WHERE ma=1
e- Câu lệnh DELETE
Câu lệnh DELETE dùng để xóa một dòng trong bảng.
Cú pháp:
DELETE FROM tên_bảng
WHERE Điều_kiện_xóa
Ví dụ:
DELETE FROM bai_viet
WHERE ma=1


CHƯƠNG 2: PHÂN TÍCH, THIẾT KẾ MÔ HÌNH WEBSITE
2.1- Khảo sát xác định mục tiêu, xác định yêu cầu
2.1.1- Khảo sát hiện trạng website trường học
Trong lĩnh vực giáo dục nói chung và các trường học nói riêng, việc tìm kiếm
thông tin và quản lý điểm của học sinh hiện nay còn rất nhiều bất cập. Do số lượng
học sinh ngày càng tăng, số môn học nhiều và có thể thay đổi theo từng năm học,
làm cho nhu cầu quản lí tổng thể của nhà trường ngày càng trở nên cấp bách. Bài
toán “ Xây dựng Website quản lý Trường Trung học phổ thông Thanh Oai A” có thể
phần nào giúp cho việc theo dõi, nắm bắt hoặc tra cứu được nhanh chóng.

Xây dựng website quản lý có một vai trò quan trọng trong công tác quản lý học
sinh, nó góp phần vào quản lý xã hội và nói lên phần nào những ứng dụng mạnh mẽ
của tin học trong đời sống xã hội và văn hóa, đồng thời ứng dụng tin học trong quản
lý trường học sẽ tiết kiệm được nhiều thời gian, công sức trong công tác quản lý
giáo viên và học sinh.
Vì vậy ứng dụng website quản lý vào trường Trung học phổ thông Thanh Oai
A sẽ phần nào đáp ứng được các yêu cầu còn vướng mắc, giúp cho công tác quản lý
giáo viên và học sinh nơi đây trở nên dễ dàng hơn.
2.1.2- Xác định yêu cầu
2.1.2.1- Các chức năng cụ thể
+ Quản lí tin tức: Thêm, sửa, xóa tin tức.
+ Quản lí môn học: Thêm, sửa, xóa môn học.
+ Quản lí học sinh: Thêm, sửa, xóa học sinh.
+ Quản lí giáo viên: Thêm, sửa, xóa giáo viên.
+ Quản lí lớp học: Thêm, sửa, xóa môn học.
2.1.2.2- Xác định yêu cầu chức năng
- Quản lí điểm: Kiểm tra tính hợp lệ của giá trị điểm mà người dùng nhập vào trước
khi cập nhật vào cơ sở dữ liệu, sửa điểm nếu nhập sai.


- Quản lí môn học: Thêm vào những môn học mới, xóa đi những môn học không
còn trong chương trình và sửa môn học.
- Quản lí học sinh: Có thể thêm học sinh mới, xóa đi những học sinh đã nghỉ học và
sửa thông tin của học sinh.
- Quản lí giáo viên: Có thể thêm giáo viên mới, xóa đi những giáo viên đã nghỉ và
sửa thông tin của giáo viên.
- Quản lí lớp học: Thêm lớp mới, xóa lớp học cũ.
2.2- Phân tích mô hình hệ thống quản lí và cơ sở dữ liệu
2.2.1- Phân tích mô hình hệ thống quản lí
2.2.1.1- Mô hình phân cấp chức năng


Hình 2.1- Biểu đồ phân cấp chức năng


2.2.1.2- Biểu đồ mức ngữ cảnh

Hình 2.2- Biểu đồ mức ngữ cảnh
- Mô tả hoạt động:
+ Admin sẽ quản lí tất cả các thông tin, dữ liệu của trang web và xử lí các yêu
cầu của giáo viên, học sinh.
+ Giáo viên sẽ nhập các thông tin về điểm môn học, điểm rèn luyện, lớp mình
phụ trách vào trang web, và có thể xem các thông tin như tin tức, hoạt động của nhà
trường.
+ Học sinh có thể xem tin tức, các hoạt động của nhà trường và xem điểm học
tập của mình.

2.2.1.3- Danh sách các Actor
- Người quản trị:
+ Đăng nhập hệ thống
+ Quản lí hệ thống môn học (thêm, xóa, sửa môn học).
+ Quản lý lớp học (tạo lớp học, xóa lớp, sửa lớp)
+ Quản lý giáo viên (thêm, xóa, sửa)
+ Quản lý năm học (thêm, xóa, sửa)
+ Quản lý học sinh (thêm, xóa, sửa)
+ Quản lý điểm (cập nhật điểm)
+ Quản lý tin tức (thêm, sửa, xóa)


×