1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng website chia sẻ tài liệu trực tuyến cho trường THPT phú lương thái nguyên

65 576 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 65
Dung lượng 2,41 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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

Trang 1

LỜI CẢM ƠN

Trước tiên em xin gửi lời cám ơn chân thành và 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 Truyền thông & Mạng máy tính 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ương Thị Minh Huế đã tận tình hướng dẫn, trực tiếp chỉ bảo em trong suốt thời gian làm đề tài Trong thời gian làm việc với cô, em không những tiếp thu thêm nhiều kiến thức bổ ích

mà còn học được tinh thần làm việc, thái độ nghiên cứu khoa học 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

Do thời gian hạn hẹp,mặc dù đã nỗ lực hết sức mình nhưng đề tài 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 để đề tài của em được hoàn thiện hơn Một lần nữa

em xin chân thành cảm ơn!

Trang 2

MỤC LỤC

LỜI CẢM ƠN 1

MỤC LỤC 2

DANH MỤC HÌNH ẢNH 3

BẢNG KÝ HIỆU VÀ DANH MỤC VIẾT TẮT 5

LỜI MỞ ĐẦU 6

CHƯƠNG I CƠ SỞ LÝ THUYẾT 7

1.1 Ngôn ngữ HTML 7

1.2 Công nghệ Responsive Boostrap 8

1.3 Ngôn ngữ PHP 11

1.3.1 Giới thiệu và sử dụng ngôn ngữ PHP 11

1.3.2 Ưu và ngôn ngữ nhược điểm của PHP 19

1.4 MYSQL 20

1.4.1 MySLQ là gì? 20

1.4.2 Đặc điểm của MySQL 20

1.4.3 Các kiểu dữ liệu trong cơ sở dữ liệu MySQL 21

1.4.4 Phát biểu SQL 24

1.4.5 Ưu và nhược điểm của MySQL 25

1.5 Hệ quản trị CSDL MySQL 26

CHƯƠNG II KHẢO SÁT VÀ PHÂN TÍCH THIẾT KẾ HỆ THỐNG 28

2.1 Khảo sát hiện trạng hệ thống 28

2.1.1 Tìm hiểu hiện trạng 28

2.1.2 Các thông tin vào ra của hệ thống 32

2.2 Phân tích thiết kế hệ thống 32

2.2.1 Biểu đồ Use Case 32

2.2.2 Biểu đồ trình tự và cộng tác 43

2.3 Thiết kế cơ sở dữ liệu 54

CHƯƠNG III XÂY DỰNG WEBSITE 55

3.1 Giao diện website 55

3.2 Giao diện trang quản trị 59

KẾT LUẬN 62

TÀI LIỆU THAM KHẢO 64

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 65

Trang 3

DANH MỤC HÌNH ẢNH

Hình 1 1:Cấu trúc thư mục của bootstrap 9

Hình 1 2: Ví dụ về Bootstrap 10

Hình 1 3: Ví dụ về Bootstrap .11

Hình 2 1: Biểu đồ UC cho tác nhân người dùng 39

Hình 2 2: Biểu đồ UC cho chức năng quản lý thông tin cá nhân 40

Hình 2 3: Biểu đồ UC cho chức năng xem tài liệu 40

Hình 2 4: Biểu đồ UC cho tác nhân người quản lý 41

Hình 2 5: Biểu đồ UC cho chức năng quản lý thành viên 41

Hình 2 6: Biểu đồ UC cho chức năng quản lý các danh mục sản phẩm .42

Hình 2 7: Biểu đồ UC cho chức năng quản lý tài liệu .42

Hình 2 8: Biểu đồ trình tự cho UC đăng kí 43

Hình 2 9: Biểu đồ cộng tác cho UC đăng kí 43

Hình 2 10: Biểu đồ trình tự cho UC đăng nhập 44

Hình 2 11: Biểu đồ cộng tác cho UC đăng nhập 44

Hình 2 12: Biểu đồ trình tự cho UC tìm kiếm 45

Hình 2 13: Biểu đồ cộng tác cho UC tìm kiếm 45

Hình 2 14: Biểu đồ trình tự cho UC xem chi tiết tài liệu 46

Hình 2 15:Biểu đồ cộng tác cho UC xem thông tin sản phẩm .46

Hình 2 16: Biểu đồ trình tự cho UC Upload tài liệu .47

Hình 2 17: Biểu đồ cộng tác cho UC Upload tài liệu 47

Hình 2 18: Biểu đồ cộng tác cho UC cập nhật thông tin cá nhân 48

Hình 2 19: Biểu đồ cộng tác cho UC cập nhật thông tin cá nhân 48

Hình 2 20: Biểu đồ trình tự cho UC quản lý thành viên 49

Hình 2 21: Biểu đồ cộng tác cho UC quản lý thành viên 50

Hình 2 22: Biểu đồ trình tự cho UC quản lý các danh mục tài liệu 51

Hình 2 23: Biểu đồ cộng tác cho UC quản lý danh mục các tài liệu 52

Hình 2 24 Biểu đồ trình cho UC quản lý tài liệu 52

Hình 2 25: Biểu đồ lớp quản lý tài liệu 53

Hình 2 26: Biểu đồ lớp quản lý danh mục tài liệu 53

Hình 2 27: Biểu đồ lớp quản lý thành viên 53

Trang 4

Hình 2 28: Biểu đồ lớp quản lý slide 53

Hình 2 29: Cơ sở dữ liệu 54

Hình 3 1: Giao diện website 55

Hình 3 2: Giao diện header 55

Hình 3 3: Giao diện danh mục tài liệu 56

Hình 3 4: Giao diện nội dung chính 56

Hình 3 5: Giao diện footer 57

Hình 3 6: Giao diện trang đăng ký 57

Hình 3 7: Giao diện trang đăng nhập 58

Hình 3 8: Giao diện trang tải lên 58

Hình 3 9: Giao diện trang liên hệ 59

Hình 3 10: Giao diện chi tiết tài liệu 59

Hình 3 11: Giao diện trang quản trị 59

Hình 3 12: Giao diện quản lý thành viên 60

Hình 3 13:Giao diện quản lý thành viên 60

Hình 3 14:Giao diện quản lý tài liệu 60

Hình 3 15:Giao diện thống kê báo cáo 61

Hình 3 16: Quản lý slide 61

Trang 5

BẢNG KÝ HIỆU VÀ DANH MỤC VIẾT TẮT STT

hiệu

Chữ viết đầy đủ Nghĩa tiếng Việt

1 HTML HyperText Markup

Language

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

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

3 CSDL Cơ sở dữ liệu Cơ sở dữ liệu

4 CNTT Google File Systems Hệ thống tập tin Google

5 URL Uniform Resource Locator Định vị Tài nguyên thống nhất,

được dùng để tham chiếu tới tài

nguyên trên Internet

6 IT Information Technology Công nghệ thông tin

7 SEO Search engine optimization Tối ưu hóa công cụ tìm kiếm

8 CMS Content Management

System

Hệ thống quản trị nội dung

9 HTTP Hypertext transfer protocol

over secure socket layer

Giao thức truyền siêu văn bản

trên tầng ổ cắm an toàn

10 UC Use Case Mô tả sự tương tác đặc trưng

giữa người dùng bên ngoàivà hệ

thống

11 SQL Structured Query Language Ngôn ngữ truy vấn có cấu trúc

Trang 6

LỜI MỞ ĐẦU

Công nghệ thông tin phát triển ngày càng hiện đại và đổi mới không ngừng, bằng việc chinh phục hết đỉnh cao này thành đỉnh cao khác.Mạng internet đang trở thành mạng truyền thông có sức ảnh hưởng lớn nhất, không thể thiếu trong tất cả các hoạt động của con người trong việc truyền tải và trao đổi dữ liệu

từ trong nước đến ngoài nước, từ ngôn ngữ, hình ảnh cho đến âm thanh

Internet đã thúc đẩy sự ra đời làm biến đổi bộ mặt văn hoá cũng như nâng cao chất lượng cuộc sống của con người và các hoạt động thông thường như sản xuất, kinh doanh, học tập

Hiện nay, nguồn tiếp cận tài liệu của các bạn học sinh, sinh viên ngày càng lớn, thông tin đa chiều mở ra yêu cầu cần có 1 website để học sinh và giáo viên có thể cùng nhau chia sẻ nhiều tài liệu phong phú, bổ ích mà bạn than đang

có Ngoài những nguồn truyền thống như sách báo, thư viện thì website chia sẻ tài liệu cũng là 1 trong những kênh thông tin được rất nhiều bạn trẻ ưa chuộng Với nhu cầu đặt ra cùng với những gợi ý của cô giáo Lương Thị Minh Huế,em đã

đi đến thực hiện đề tài “Xây dựng website chia sẻ tài liệu trực tuyến cho trường THPT Phú Lương - Thái Nguyên” Nhằm phục vụ nhu cầu và xu

hướng tìm kiếm tài liệu của học sinh hiện nay Hơn thế nữa đề tài cũng giúp em tìm hiểu cách thức xây dựng một website chia sẻ tài liệu trực tuyến bằng

PHP&MYSQL

Em xin cảm ơn sự hướng dẫn tận tâm của cô giáo Th.s Lương Thị Minh Huế giảng viên trường đại học Công nghệ thông tin và Truyền thông Thái Nguyênngười đã giúp em hoàn thành thành đề tài một cách thuận lợi Tuy nhiên với trình độ thực tiễn còn hạn chế và một số khó khăn gặp phải trong lúc thực hiện đề tài nên cũng không thể tránh khỏi những thiếu sót em rất mong nhận được sự ý kiến đóng góp từ thầy đề đề tài của em được hoàn thiện hơn

Em xin chân thành cảm ơn!

Trang 7

CHƯƠNG I CƠ SỞ LÝ THUYẾT

1.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

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ẻ <HTML>.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ẻ </HTML>, 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

Trang 8

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ẻ <HEAD> và thẻ </HEAD> ngay sau thẻ <HTML> 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ẻ <TITLE> và </TITLE>

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ẻ

<BODY> và </BODY> sau phần đầu (dưới </HEAD>)

Dưới đây là cấu trúc cơ bản của một trang web định dạng HTML:

1.2 Công nghệ Responsive Boostrap

 Giới thiệu về Twitter Bootstrap

 Twitter Bootstrap bao gồm các mã CSS + HTML cơ bản cho typography, forms, buttons, tables, grids, navigation, và nhiều thành phần khác của website

 Twitter Bootstrap cung cấp lưới cố định (fixed) rộng 940px và 12 cột Tất nhiên là cũng có giải pháp cho việc dùng layout dạng động (fluid)

 Style của các phần tử HTML trong Twitter Bootstrap khá đơn giản và thanh lịch Ví dụ như phần đổ bóng trong input, highlight của bảng biểu, các mã CSS hiển thị cảnh báo, tabs, phân trang…

Trang 9

 Tại sao lại sử dụng Twitter Bootstrap

Twitter Bootstrap giúp chúng ta giảm thiểu thời gian thiết kết html và css.Twitter Bootstrap định nghĩa sẳn các class css công việc của chúng ta chỉ là

sử dụng các class đó vào mục đích của mình.Twitter Bootstrap còn hổ trợ Responsive design một cách làm giao diện đa thiết bị rất được ưu chuộng trong thời gian gần đây

 Cách sử dụng Twitter Bootstrap

Tải Bootstrap tại đây: http://twitter.github.io/bootstrap/

Sau khi tải về, bạn sẽ có một file Zip Tiến hành giải nén ta có một thư mục

có tên bootstrap, bên trong có 3 thư mục : css, img, js

Hình 1 1:Cấu trúc thư mục của bootstrap

Bước 1: Chúng ta tạo 1 file html có tên là index.html ở trong thư mục bootstrap vừa giải nén phía trên

Vậy là xong phần head Giờ chúng ta viết tiếp phần body với 2 textbox và 2 button như sau:

Trang 10

Hình 1 2: Ví dụ về Bootstrap Vậy là xong.Ví dụ chỉ đơn giản vậy thôi

Bạn sẽ thắc mắc là sao chạy nút submit và reset lại không nằm xuống phía dưới?

Hãy thu nhỏ trình duyệt và bạn sẽ thấy điều kỳ diệu:

Trang 11

Hình 1 3: Ví dụ về Bootstrap

1.3 Ngôn ngữ PHP

1.3.1 Giới thiệu và sử dụng ngôn ngữ PHP

a Giới thiệu ngôn ngữ PHP

 Lịch sử ra đời

Năm 1995, Rasmus Lerdorf tạo ra PHP nhằm giải quyết việc viết lặp đi lặp lại cùng đoạn mã khi tạo các trang Ban đầu tác giả chỉ có ý định tạo bộ phân giải đơn giản để thay thế các thẻ lệnh trong file HTML bằng các đoạn mã lệnh viết bằng C

 PHP là gì ?

PHP là một công nghệ phía máy chủ (server – side) và không phụ thuộc môi trường (cross-platfom) Cả hai yếu tố này đều rất quan trọng Khái niệm công nghệ phía máy chủ nói đến việc mọi thứ trong PHP đều xảy ra trên máy chủ (ngược với máy khách là máy của người dùng) 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 các hệ điều hành như windows, Unix

Trang 12

(và nhiều biến thể của nó), Macintosh…Một điều cũng rất quan trọng là 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 các máy chủ khác mà không cần chỉnh sửa hoặc chỉnh sửa rất ít

Mã PHP được thực thi ở phía Server, khi trình duyệt của người dùng truy cập một trang web có chứa một đoạn mã PHP thì trình duyệt nhận được trang kết quả đã xử lý từ Web server, người dùng sẽ không thể biết được đoạn mã viết gì

Mã PHP được bao trong cặp dấu <?php ?> hoặc <? ?> Tập tin PHP có phần mở rộng là php hoặc php3

PHP tương tự JSP và ASP với tập thẻ lệnh dùng cho trang HTML Điểm đặc biệt là PHP được phát triển hoàn toàn cho nền tảng web, chính vì vậy, mà các ứng dụng viết bằng PHP rất ngắn gọn so với VBScript hay JSP Đây cũng chính

là điểm mạnh của PHP so với Perl

Cú pháp PHP mượn từ nhiều ngôn ngữ khác như C, Java, Perl PHP có thể giao tiếp với nhiều hệ CSDL như MySQL, MS Access, Sybase, Oracle và cả Microsoft SQL Không chỉ có khả năng thao tác CSDL, PHP còn có nhiều khả năng khác như IMAP, SNMP, LDAP, XML PHP chạy trên hầu hết các nền tảng hệ thống Trình máy chủ phân giải mã lệnh PHP có thể tải về miễn phí từ trang web chính thức của PHP

Có lẽ yếu tố hấp dẫn nhất của PHP là nó hoàn toàn miễn phí Với máy tính cấu hình vừa phải chạy Linux, cài đặt Apache, PHP và MySQL, bạn sẽ có máy chủ có thể phục vụ được nhiều ứng dụng web tương đối Toàn bộ chi phí hầu như chỉ là thời gian bạn bỏ ra để cài đặt các phần mềm

PHP được xem là một thay thế cho Perl PHP không thể làm được nhiều như Perl, thế nhưng chính sự hạn chế này làm cho PHP dễ học và dễ dùng

 Tại sao cần dùng PHP?

PHP được sử dụng để phát triển website động vì nó tốt, nhanh và dễ dàng nghiên cứu hơn 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 năng bền vững linh động và khả

Trang 13

năng phát triển không giới hạn Tất cả các đặc tính trên đều miễn phí vì PHP là

mã nguồn mở PHP vừa dễ với người mới sử dụng và vừa có khả năng làm được mọi thứ, đáp ứng yêu cầu của lập trình viên chuyên nghiệp

PHP được sử dụng càng ngày càng nhiều và mới đây đã bắt kịp ASP (vốn được xem là ngôn ngữ kịch bản phổ biến nhất hiện nay) PHP là modun thông dụng cho Apache (máy chủ Web phổ biến nhất) và nó đã có mặt trên 12 triệu website

b Sử dụng PHP

 Thẻ PHP

Có 4 loại khác nhau của thẻ PHP:

- Kiểu Short: là thẻ mặc định mà các nhà lập trình PHP thường sử dụng

<? echo “Đây là kiểu Short”; ?>

- Kiểu định dạng XML: thẻ này có thể sử dụng với văn bản dạng XML

<?php echo “Đây là kiểu định dạng với XML”; ?>

- Kiểu Script: trong trường hợp muốn sử dụng PHP như một script tương

tự như khai báo Javascript hay VBScript

Trang 14

Để gọi hàm trong PHP, khai báo tương tự như gọi hàm trong các ngôn ngữ lập trình khác, hầu hết các hàm khi gọi cần truyền tham số và giá trị trả về

VD: Gọi hàm date()

<?

echo “Hôm nay là: ”.date(“d/m/Y”);

?>

 Truy cập biến Form

Thông thường khi cần lấy dữ liệu của người dùng nhập, chúng ta sẽ dùng thẻ form trong trang web nhằm ràng buộc tất cả các thẻ input, selec, textarea

Dữ liệu đến từ script đều là biến PHP, chúng ta có thể nhận biết chúng bằng cách sử dụng dấu $ trước tên biến Có hai cách để truy cập dữ liệu trên form thông qua biến

- Để lấy giá trị của các thẻ trong form theo dạng POST:

$_POST[‘tên_thẻ’]

- Để lấy giá trị của các thẻ trong form theo dạng GET: $_GET[‘tên_thẻ’]

 Khai báo biến

PHP Engine không cần yêu cầu khai báo biến trước khi sử dụng, tuy nhiên nên tập thói quen khai báo và khởi tạo giá trị ban đầu cho biến trước khi sử dụng chúng

 Gán giá trị cho biến

Để gán giá trị cho biến, nếu biến đó chưa khai báo trước đó, biến này được coi như vừa khai báo và khởi tạo Trong trường hợp biến đã khai báo, biến này chỉ thay đổi giá trị

VD: <?php

Trang 15

- Interger: Sử dụng hầu hết cho giá trị có kiểu dữ liệu là số

- Double: Sử dụng hầu hết cho giá trị có kiểu dữ liệu là số thực

- String: Sử dụng hầu hết cho giá trị có kiểu dữ liệu là chuỗi, ký tự

- Array: Sử dụng hầu hết cho giá trị có kiểu dữ liệu là mảng có các phần tử cùng kiểu dữ liệu

- Object: Sử dụng hầu hết cho giá trị có kiểu dữ liệu là đối tượng của lớp

 Phát biểu có điều khiển

- Phát biểu If: Phát biểu if với một điều kiện, nếu điều kiện là true thì khối lệnh trong phát biểu If sẽ được thực hiện, điều kiện được khai báo trong dấu ()

Trang 16

một điều kiện, nếu điều kiện là true thì khối lệnh trong

phát biểu if sẽ được thực hiện, ngược lại khối lệnh trong phát biểu

else sẽ được thực hiện

- Phát biểu Switch: tương tự như phát biểu if, nhưng trong trường hợp có

nhiều hơn hai tùy chọn cụ thể cho phép quyết định VD: switch($diem)

Trang 17

biểu switch Trong trường hợp không khai báo break trong mỗi phát biểu case, nếu thỏa mãn điều kiện trong case nhưng PHP vẫn tiếp tục thực hiện tiếp các phát biểu case sau đó

- Phát biểu While: phát biểu vòng lặp đơn giản nhất trong PHP là vòng lặp while cho phép bạn thực thi khối lệnh trong while cho đến khi điều kiện của while là true như cú pháp

While (điều kiện)

while (điều kiện)

- Phát biểu vòng lặp for: tương tự như trong phát biểu while, có thể sử dụng vòng lặp for với 1 giới hạn chỉ định

for (giá trị khởi đầu; điều kiện giới hạn; giá trị lặp của vòng lặp for)

{

khối lệnh thực hiện;

}

Trang 18

 Lưu trữ và truy vấn dữ liệu bằng PHP

- Mở file bằng PHP:

+ fopen(tên file, chế độ mở): mở file

+ puts(), fwrite(): ghi file

+ close(): Đóng file

+ feof(): Nhận giá trị true nếu con trỏ ở cuối file

+ file_exists(): Kiểm tra file có tồn tại

+ filesize(): kiểm tra dung lượng của file

- Thiết lập kết nối cơ sở dữ liệu

Để kết nối cơ sở dữ liệu MySQL, cần cung cấp tên Server hay IP (có thể là localhost) của máy chứa cơ sở dữ liệu MySQL, Username và Password để đăng nhập làm việc trên cơ sở dữ liệu được mở

$link = mysql_connect(“servername”, “username”, “password”)

or die(“Không kết nối được với CSDL”);

- Mở một CSDL: mysql_select_db(“database name”); hoặc

Trang 19

mysql_select_db(“database name”, $link);

- Đóng kết nối cơ sở dữ liệu: mysql_close(database_connection);

- Truy vấn cơ sở dữ liệu:

Int mysql_query(string sql);

Int mysql_query(string sql, [int db_connect]);

Int mysql_query(string database, string sql, [int db_connect]);

Số lượng mẩu tin: mysql_num_rows(); Cho biết số lượng mẩu tin câu truy vấn trả về

- Truy vấn dữ liệu:

Int mysql_fetch_array($result); Mysql_fetch_object($result);

- Dung lượng của tập mẩu tin: int mysql_free_result(int $result);

1.3.2 Ưu và ngôn ngữ nhược điểm của PHP

- Hỗ trợ kết nối nhiều hệ cơ sở dữ liệu: MySQL, MS SQL, Oracle…

- Chạy trên nhiều hệ diều hành

- Cộng đồng của PHP được coi là khá lớn và có chất lượng

- Thư viện phong phú

Trang 20

- Tính bảo mật khá an toàn

- Khả năng mở rộng cho PHP là không có giới hạn

- Luôn được cải tiến và cập nhật

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.4.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ả

Trang 21

1.4.3 Các kiểu dữ liệu trong cơ sở dữ liệu MySQL

a) Loại dữ liệu numeric

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 hay

0 16777215

3 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 Số thập phân dạng

Single hay Double Float(M,D) ±1.175494351E-38

±3.40282346638

4 Số thập phân dạng

Single Double(M,D) ±1.7976931348623157308

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

Date 1000-01-01 Date trình bày dưới dạng

YYYY-mm-dd

Trang 22

Date và Time trình bày dưới dạng YYY-mm-dd hh:mm:ss

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

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

Trang 23

c) Loại dữ liệu String

Char 1-255 ký tự Chiều dài của chuỗi lớn nhất 255 ký tự

Varchar 1-255 ký tự Chiều dài của chuỗi lớn nhất 255 ký tự

Tinyblob 28-1 Khai báo cho Field chứa kiểu đối tượng nhị

phân cỡ 255 ký tự Tinytext 28-1 Khai báo cho Field chứa kiểu chuỗi cỡ 255 ký tự Blob 216-1 Khai báo cho Field chứa kiểu blob cỡ 65535

Trang 24

1.4.4 Phát biểu SQL

Tạo cơ sở dữ liệu:

Create Database <database_name> Create <object type>

<object_name>

Phát biểu SQL thao tác dữ liệu

- SELECT (truy vấn mẩu tin)

- INSERT (Thêm mẩu tin)

- UPDATE (Cập nhật dữ liệu)

- DELETE (Xóa mẩu tin)

a) Phát biểu Select

Select <danh sách cột> From <danh sách bảng>

Where <các điều kiện ràng buộc>

[Group by <tên cột/biểu thức trong Select>]

[Having <điều kiện bắt buộc của Group by>]

Set <column>=<value>, [<column>=<value>]

[where <restrictive conditions>]

Trang 25

d) Phát biểu Delete

Delete from <table_name> Where <condition>

Một số hàm thông dụng trong MySQL

+ Hàm AVG: Hàm trả về giá trị bình quân của cột hay trường trong câu truy vấn VD: select AVG(Amount) From tblOrder

+ Hàm MIN: Hàm trả về giá trị nhỏ nhất của cột hay trường trong câu truy vấn

VD: select MIN(Amount) From tblOrder

+ Hàm MAX: : Hàm trả về giá trị lớn nhất của cột hay trường trong câu truy vấn VD: select MAX(Amount) From tblOrder

+ Hàm Count: Hàm trả về số lượng mẩu tin trong câu truy vấn

VD: select Count(*) From tblOrder

+ Hàm Sum: Hàm trả về tống các giá trị của trường, cột trong câu truy vấn

VD: select SUM(Amount) From tblOrder

+ Hàm CurDate(): hàm trả về ngày, tháng, năm hiện hành của hệ thống

VD: select curdate() as ‘Ngay hien tai’

Hàm CurTime(): Hàm trả về giờ phút giây hiện hành của hệ thống

VD: select curtime() as ‘Thoi gian

1.4.5 Ưu và nhược điểm của MySQL

Trang 26

 Nhờ đội ngũ phát triển năng động, tích cực, các phiên bản Mysql ngày càng hoàn thiện bổ sung nhiều chức năng mới

MySQL là hệ quản trị CSDL mã nguồn mở phổ biến nhất thế giới.Đây là

hệ CSDL dùng cho các ứng dụng web vừa và nhỏ Tuy không phải là hệ quản trị CSDL lớn nhưng MySQL cũng có trình giao diện trên Wingdows hay Linux, cho phép người dùng thao tác các hành động liên quan đến CSDL

Cũng giống như các CSDL khác, khi làm việc với CSDL MySQL, ta đăng

kí kết nối, tạo CSDL, quản lý người dùng, phân quyền sử dụng, thiết kế đối tượng table của CSDL và xử lý dữ liệu

Để thao tác trên CSDL, ta có thể dùng trình quản lý dạng đồ hoạ hay dùng dòng lệnh (Command line) Tất nhiên, dùng hệ quản trị có hỗ trợ trình giao diện

đồ hoạ thì tiện lợi hơn.Tuy vậy, dù dùng dưới hình thức nào thì mục đích cũng là quản lý và thao tác trên CSDL

a) Câu lệnh 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"

Trang 27

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];

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;

Trang 28

CHƯƠNG II ĐỀ XUẤT VÀ PHÂN TÍCH THIẾT KẾ HỆ THỐNG 2.1 Khảo sát hiện trạng hệ thống

2.1.1 Tìm hiểu hiện trạng

a) Giới thiệu

Trường THPT Phú Lương

Hiệu trưởng: Cô Nguyễn Thị Thanh Hương

Địa chỉ: Tiểu khu Dương Tự Minh – Thị trấn Đu – Phú Lương – Thái Nguyên

Trường phổ thông cấp 3 Phú Lương nay là trường THPT Phú Lương được thành lập năm 1965 Thầy hiệu trưởng đầu tiên là Thầy Nguyễn Thanh Nước Từ những ngày cơ sở vật chất còn đơn sơ, trả qua 50 năm qua, dưới sự lãnh đạo của Sở GD& ĐT Thái Nguyên, các cấp ủy Đảng, chính quyền, địa phương, sự phối hợp chặt chẽ của các cơ quan ban ngành đoàn thể, sự ủng hội tích cực của các tầng lớp nhân dân trong Huyện, sự đoàn kết thống nhất và nỗ lực phấn đấu của tập thể thầy và trò, trường THPT Phú Lương đã vượt qua nhiều khó khăn thử thách, từng bước trưởng thành vươn lên hoàn thành xuất sắc nhiệm vụ

Những năm qua, trường THPT Phú Lương lớn mạnh không ngừng cả về

số lượng và chất lượng Được sự quan tâm của chính quyền, sự hỗ trợ tích cực của Sở Giáo dục và Đào tạo, cùng với sự năng nổ, nhiệt tình, hết lòng vì tập thể của Ban Giám hiệu, trường đã được sửa sang và xây dựng lại khang trang hơn, tạo điều kiện tốt cho thầy trò yên tâm dạy và học Với một đội ngũ giáo viên giàu kinh nghiệm và yêu nghề, với truyền thống hiếu học của học sinh, trường đã đạt được nhiều kết quả tốt Tỉ lệ học sinh tốt nghiệp hàng năm trung bình 95-99%, tỉ

lệ học sinh đỗ vào các trường CĐ-ĐH và các trường chuyên nghiệp ngày càng cao Trường cũng đạt vị thứ hạng cao trong các kì thi học sinh giỏi tỉnh

Với cơ sở khang trang, trang thiết bị dạy học đầy đủ, với năng lực, trình độ và phẩm chất của đội ngũ giáo viên, qua 50 năm xây dựng và trưởng thành, Trường THPT Phú Lương đã thực sự là địa chỉ tin cậy cho con em các dân tộc trên địa bàn huyện Phú Lương

b) Khảo sát nhu cầu thực tế

Hiện nay, với hơn 2000 học sinh và giáo viên, nhu cầu về chia sẻ tài liệu giữa giáo viên và học sinh, giữa học sinh và học sinh là rất lớn và ngày càng mở rộng Các tài liệu như sách vở, tài liệu tham khảo, hệ thống thư viện không đủ để đáp ứng nhu cầu này

Trang 29

Có rất nhiều tài liệu do học sinh, giáo viên tự tổng hợp trong quá trình học tập và giảng dạy và muốn chia sẻ, nhưng chưa có 1 kênh thông tin nào đáp ứng được việc chia sẻ với tất cả các học sinh và giáo viên trong toàn trường, mà việc chia sẻ mới dừng lại ở 1 vài nhóm học sinh hoặc 1 vài lớp

Từ nhu cầu trên, vấn đề đặt ra là cần xây dựng 1 website cho phép giáo viên và học sinh có thể chia sẻ tài liệu học tập cho nhau và người quản lý có thể quản lý, thống kê được các tài liệu cũng như thành viên trên website đó

c) Yêu cầu trang web

Từ yêu nhu cầu thực tế, trường THPT Phú Lương rất mong muốn xây dựng 1 hệ thống nhằm đáp ứng nhu cầu tài liệu và chia sẻ tài liệu ngày càng lớn của học sinh Trường đã đặt vấn đề xây dựng website với mục đích:

- Thông qua website, giới thiệu, chia sẻ các tài liệu hay từ tất cả học sinh cũng như giáo viên trong nhà trường, giúp các em học sinh tiếp cận được với những tài liệu mới, đa dạng, bổ ích, là 1 kênh thông tin, truyền tải kiến thức giữa học sinh với học sinh, giữa giáo viên với học sinh Thông qua website, người quản lý có thể quản lý website, quản lý việc tải, đăng các tài liệu, quản lý thống kê các tài liệu

- Một số yêu cầu từ hệ thống:

+Đối với người dùng có các chức năng thực hiện trên website như sau:

 Xem thông tin tài liệu

 Upload, download tài liệu

 Liên hệ

 Tìm kiếm sản phẩm

+ Đối với người quản lý có các chức năng thực hiện trên website như sau:

 Quản lý các danh mục tài liệu

 Quản lý các tài liệu

 Quản lý thành viên

 Một số các yêu cầu khác:

Trang 30

- Trang web phải đảm bảo một số yêu cầu cần thiết của người sủ dụng như:

- Danh mục tài liệu, tài liệu được sắp xếp một cách tuần tự rõ ràng, tìm kiếm một cách nhanh chóng…

 Quy trình thực hiện tải tài liệu của người dùng

- Người dùng duyệt ứng dụng web trên trình duyệt

- Trình duyệt sẽ hiển thị các tài liệu và danh mục tài liệu các thành viên khác chia sẻ Người dùng có thể xem thông tin các tài liệu theo từng danh mục tài liệu hoặc có thể thực hiện chức năng tìm kiếm để tìm kiếm tài liệu

- Sau khi xem thông tin về các tài liệu, người dùng có thể tải tài liệu về nếu cảm thấy có bổ ích với bản thân bằng cách đăng nhập vào website Sau đó người dùng

có thể tiếp tục xem và chọn lựa, xem và tải các tài liệu khác

 Quy trình upload tài liệu của người dùng

- Người dùng duyệt ứng dụng web và chọn chức năng upload tài liệu

- Nếu chưa đăng nhập, hệ thống sẽ yêu cầu người dùng, sau khi đăng nhập, người dùng điền vào form upload 1 số thông tin như tên tài liệu, ảnh đại diện và

mô tả ngắn về tài liệu, tài liệu Người dùng tải tài liệu lên và tài liệu sẽ ở trạng thái chờ người quản trị xét duyệt

 Quy trình quản trị hệ thống của người quản trị

Người quản trị sẽ có một tài khoản để đăng nhập vào hệ thống, sau khi đăng nhập người quản trị có thể thực hiện một số chức năng như:

- Quản lý danh mục các loại tài liệu: Thêm, sửa, xóa các loại tài liệu

- Quản lý tài liệu: Thêm , sửa, xóa các tài liệu

- Quản lý thành viên: Thêm, sửa, xóa thành viên

- Quản lý các liên hệ của thành viên

- Quản lý slide ảnh, thông tin trên website

Trang 31

 Quy trình tải tài liệu của người dùng

- Người dùng duyệt ứng dụng trên trình duyệt Web

- Trình duyệt sẽ hiển thị các tài liệu mà các thành viên trên hệ thống chia sẻ Người dùng có thể duyệt theo danh mục môn học hoặc có thể sử dụng chức năng tìm kiếm để tìm kiếm theo tên tài liệu

- Người dùng đăng nhập, sau khi tìm kiếm, tham khảo các thông tin về tài liệu, người dùng có thể đi đến quyết định là tải tài liệu nào đó Sau đó người dùng có thể tiếp tục xem các tài liệu khác hoặc tiến hành upload tài liệu

- Người dùng có thể upload tài liệu và chờ xét duyệt của người quản trị để tài liệu

đó được cho phép hiển thị trên hệ thống và xem các tài liệu mà mình đã upload lên

- Các thông tin cần hiển thị trên trang chủ của ứng dụng: Danh mục tài liệu, tài liệu mới, một vài chức năng như: tìm kiếm, đăng ký, đăng nhập, quản lý thông tin cá nhân,

- Các thông tin về tài khoản của người dùng bao gồm: Điạ chỉ email, mật khẩu truy nhập, SĐT, địa chỉ, mô tả, phân quyền

- Mỗi tài liệu có các thông tin sau: tên tài liệu, thuộc danh mục nào nào, ảnh đại diện, file đính kèm, quyền xem

- Quản lý tài liệu gồm: Tên tài liệu, số lượt tải, số lượt xem, tình trạng, hành động

 Quy trình thực hiện quản trị hệ thống của quản trị viên

Để truy cập vào chức năng quản trị hệ thống, Quản trị viên cần có một tài khoản để truy nhập Sau khi truy nhập quản trị viên có thể thực hiện các chức năng sau:

- Quản lý thành viên: Thêm, sửa, xóa các thành viên

- Quản trị danh mục: bao gồm các công việc thêm, xoá, cập nhật thông tin về các loại tài liệu

Trang 32

- Quản lý thành viên: Thêm, xoá, cập nhật thông tin về thành viên

- Thống kê báo cáo: Xem thống kê, xuất file thống kê

- Quản lý slide: Thêm, sửa, xóa ảnh

2.1.2 Các thông tin vào ra của hệ thống

 Các thông tin đầu vào

- Các thông tin giới thiệu về nhà trường

- Các thông tin về từng loại tài liệu, danh mục tài liệu

- Các thông tin về người dùng

- Các thông tin về tài liệu tải về

 Các thông tin đầu ra

- Các thông tin giới thiệu về hệ thống, giới thiệu về trường

- Các thông tin về từng loại tài liệu và từng tài liệu

- Các thông tin tra cứu, các ảnh slide

- Các phản hồi của người quản trị đối với những người dùng upload tài liệu lên hệ thống

2.2 Phân tích thiết kế hệ thống

2.2.1 Biểu đồ Use Case

 Xác định các tác nhân và use case

- Quản lý thông tin cá nhân

- Quản lý tài liệu

- Tìm kiếm tài liệu

- Xem chi tiết tài liệu

- Upload tài liệu

Ngày đăng: 09/12/2016, 01:21

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[3]. Bải giảng môn Phát triển ứng dụng web, do nhóm giáo viên bộ môn: HTTT biên soạn Sách, tạp chí
Tiêu đề: Bải giảng môn Phát triển ứng dụng web
[7]. JULIE C. MELONI, “Teach Yourself PHP, MySQL® and Apache All in One”, Published by Sams Publishing, 2003 Sách, tạp chí
Tiêu đề: Teach Yourself PHP, MySQL® and Apache All in One
[5] PHP Documentation,http://php.net/manual [6] W3Schools,http://www.w3schools.com/ Link
[1] Đoàn Văn Ban, Giáo trình UML. Nhà xuất bản Hà Nội, 2001 Khác
[2] Đặng Văn Đức, Phân tích thiết kế hệ thống hướng đối tượngbằng UML, Viện công nghệ thông tin, 2008 Khác
[4]Phạm Hữu Khang - Hoàng Đức Hải, Xây dựng ứng dụng web bằng PHP và MySQL. Nhà xuất bản Phương Đông, 2007, 384tr Khác

HÌNH ẢNH LIÊN QUAN

Hình 1. 3: Ví dụ về Bootstrap. - Xây dựng website chia sẻ tài liệu trực tuyến cho trường THPT phú lương   thái nguyên
Hình 1. 3: Ví dụ về Bootstrap (Trang 11)
Hình 2. 2: Biểu đồ UC cho chức năng quản lý thông tin cá nhân - Xây dựng website chia sẻ tài liệu trực tuyến cho trường THPT phú lương   thái nguyên
Hình 2. 2: Biểu đồ UC cho chức năng quản lý thông tin cá nhân (Trang 40)
Hình 2. 4: Biểu đồ UC cho tác nhân người quản lý - Xây dựng website chia sẻ tài liệu trực tuyến cho trường THPT phú lương   thái nguyên
Hình 2. 4: Biểu đồ UC cho tác nhân người quản lý (Trang 41)
Hình 2. 6: Biểu đồ UC cho chức năng quản lý các danh mục sản phẩm. - Xây dựng website chia sẻ tài liệu trực tuyến cho trường THPT phú lương   thái nguyên
Hình 2. 6: Biểu đồ UC cho chức năng quản lý các danh mục sản phẩm (Trang 42)
Hình 2. 8: Biểu đồ trình tự cho UC đăng kí - Xây dựng website chia sẻ tài liệu trực tuyến cho trường THPT phú lương   thái nguyên
Hình 2. 8: Biểu đồ trình tự cho UC đăng kí (Trang 43)
Hình 2. 10: Biểu đồ trình tự cho UC đăng nhập - Xây dựng website chia sẻ tài liệu trực tuyến cho trường THPT phú lương   thái nguyên
Hình 2. 10: Biểu đồ trình tự cho UC đăng nhập (Trang 44)
Hình 2. 12: Biểu đồ trình tự cho UC tìm kiếm - Xây dựng website chia sẻ tài liệu trực tuyến cho trường THPT phú lương   thái nguyên
Hình 2. 12: Biểu đồ trình tự cho UC tìm kiếm (Trang 45)
Hình 2. 19: Biểu đồ cộng tác cho UC cập nhật thông tin cá nhân - Xây dựng website chia sẻ tài liệu trực tuyến cho trường THPT phú lương   thái nguyên
Hình 2. 19: Biểu đồ cộng tác cho UC cập nhật thông tin cá nhân (Trang 48)
Hình 2. 20: Biểu đồ trình tự cho UC quản lý thành viên - Xây dựng website chia sẻ tài liệu trực tuyến cho trường THPT phú lương   thái nguyên
Hình 2. 20: Biểu đồ trình tự cho UC quản lý thành viên (Trang 49)
Hình 2. 22: Biểu đồ trình tự cho UC quản lý các danh mục tài liệu - Xây dựng website chia sẻ tài liệu trực tuyến cho trường THPT phú lương   thái nguyên
Hình 2. 22: Biểu đồ trình tự cho UC quản lý các danh mục tài liệu (Trang 51)
Hình 2. 23: Biểu đồ cộng tác cho UC quản lý danh mục các tài liệu - Xây dựng website chia sẻ tài liệu trực tuyến cho trường THPT phú lương   thái nguyên
Hình 2. 23: Biểu đồ cộng tác cho UC quản lý danh mục các tài liệu (Trang 52)
Hình 2. 24 Biểu đồ trình cho UC quản lý tài liệu - Xây dựng website chia sẻ tài liệu trực tuyến cho trường THPT phú lương   thái nguyên
Hình 2. 24 Biểu đồ trình cho UC quản lý tài liệu (Trang 52)
Hình 2. 29: Cơ sở dữ liệu - Xây dựng website chia sẻ tài liệu trực tuyến cho trường THPT phú lương   thái nguyên
Hình 2. 29: Cơ sở dữ liệu (Trang 54)
Hình 3. 1: Giao diện website - Xây dựng website chia sẻ tài liệu trực tuyến cho trường THPT phú lương   thái nguyên
Hình 3. 1: Giao diện website (Trang 55)
Hình 3. 4: Giao diện nội dung chính - Xây dựng website chia sẻ tài liệu trực tuyến cho trường THPT phú lương   thái nguyên
Hình 3. 4: Giao diện nội dung chính (Trang 56)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w