Chương 1 TỔNG QUAN ĐỂ TÀI 1.1 Mục đích đề tài Cung cấp cho bạn đọc các tài liệu bổ ích, giúp cho bạn đọc có thể tìm kiếm được các tài liệu một cách dễ dàng. Tạo ra một nơi giúp mọi người chia sẻ với nhau các tài liệu góp phần phát triển, đưa văn hóa đọc tới gần với tất cả mọi người.2 Khảo sát hệ thống Hệ thống website chia sẻ tài liệu phục vụ 3 nhóm người dùng chính : Quản trị, thành viên, khách. Khách là những bạn đọc tìm đến hệ thống để tìm kiếm và đọc tài liệu nhưng không có tài khoản thành viên hoặc là những thành viên nhưng chưa đăng nhập vào hệ thống. Thành viên là những bạn đọc có tài khoản thành viên và đã đăng nhập vào hệ thống.
Quản trị viên là người quản lý, vận hành hệ thống website. Khách có thể đăng kí làm thành viên hệ thống qua chức năng đăng kí tài khoản. Khi đăng kí tài khoản hệ thống sẽ yêu cầu khách cung cấp thông tin : Tên, Email , Mật khẩu. Email không được trùng với các email đã được đăng kí trước đó.
Sau khi bấm đăng kí hệ thống sẽ gửi email đăng kí tài khoản thành công và yêu cầu khách kích hoạt tài khoản. Sau khi khách đọc email và bấm vào link kích hoạt tài khoản hệ thống sẽ đưa khách tới trang kích hoạt tài khoản. Sau khi kích hoạt tài khoản thành công hệ thống sẽ cộng vào tài khoản 100 point để khách hàng có thể download tài liệu. 2 Đối với những người được coi là Khách thì chỉ có thể tìm kiếm tài liệu, đọc tài liệu, xem các danh mục tài liệu có trong hệ thống.
Tài liệu trên hệ thống có nhiều và được chia thành các mục để quản lý. Tài liệu sẽ được quản lý xem thuộc chuyên ngành nào, thuộc lĩnh vực nào. Một lĩnh vực thì có thể có nhiều chuyên ngành và có thể có nhiều tài liệu thuộc cùng một chuyên ngành. Khi đọc tài liệu trên hệ thống nếu bạn đọc muốn tải tài liệu về hoặc yêu thích tài liệu thì hệ thống sẽ kiểm tra bạn đọc có là thành viên hệ thống không? • Nếu không là thành viên hệ thống thì sẽ yêu cầu đăng kí tài khoản để có thể download tài liệu hay yêu thích tài liệu.
• Nếu là thành viên hệ thống thì sẽ kiểm tra số point của tài khoản có đủ để download tài liệu không. Với mỗi tài liệu tải về hệ thống sẽ trừ đi 10 point của thành viên. Để kiếm được point phục vụ việc download tài liệu người dùng có thể thực hiện việc chia sẻ tài liệu. Với mỗi tài liệu được chia sẻ lên người dùng sẽ được cộng 5 point vào tài khoản.
Và tài liệu tải lên sẽ được đưa vào danh sách duyệt đợi quản trị duyệt lúc này tài liệu chỉ có thể xem bởi quản trị và người đã upload tài liệu lên. Sau khi quản trị duyệt tài liệu xong, thành viên upload tài liệu sẽ được cộng 10 point vào tài khoản. Nếu tài khoản không được duyệt thành viên sẽ không được cộng điểm. Kết thúc quá trình duyệt hệ thống sẽ gửi một thông báo dưới dạng tin nhắn tới thành viên thông báo kết quả duyệt tài liệu.
Mỗi khi tài liệu do thành viên chia sẻ được người khác tải về thì thành viên đó sẽ được cộng 1 point vào tài khoản. 3 Tài liệu được tải lên hệ thống được tổ chức lưu trữ dưới dạng các thư mục và tệp tin theo các lĩnh vực và chuyên ngành. Mỗi lĩnh vực sẽ có thư mục riêng để lưu trữ và bên trong thư mục đó thì có chứa các thư mục tài liệu theo từng chuyên ngành thuộc lĩnh vực đó. Thành viên có thể kiểm tra số point còn lại, số tài liệu tải lên, số tài liệu tải xuống, số tài liệu đã yêu thích ở mục xem thông tin cá nhân.
Ngoài ra thành viên có thể đổi mật khẩu, thay đổi anh đại diện nếu muốn. Thành viên trong hệ thống có thể gửi tin nhắn với nhau hoặc đọc tin nhắn của người khác gửi cho mình ở mục tin nhắn. Thành viên có thể xóa tin nhắn các tin nhắn đã gửi hoặc đã gửi đến cho mình. Các thành viên nếu thấy hệ thống còn thiếu sót có thể gửi các góp ý.
Quản trị sẽ kiểm tra và trả lời các góp ý của thành viên đó. Quản trị có các chức năng giống thành viên ngoài ra có các chức khác như: duyệt tài liệu, trả lời các góp ý, 4 Chương 2 CÔNG NGHỆ SỬ DỤNG 2.1 PHP PHP (Hypertext Preprocessor) là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát. Nó rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML. Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống ngôn ngữ lập trình C và Java, dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình web phổ biến nhất thế giới.
PHP được phát triển từ một sản phẩm có tên là PHP/FI. PHP/FI do Rasmus Lerdorf tạo ra năm 1994, ban đầu được xem như là một tập con đơn giản của các mã kịch bản Perl để theo dõi tình hình truy cập đến bản sơ yếu lý lịch của ông trên mạng. Ông đã đặt tên cho bộ mã kịch bản này là 'Personal Home Page Tools'. Khi cần đến các chức năng rộng hơn, Rasmus đã viết ra một bộ thực thi bằng C lớn hơn để có thể truy vấn tới các cơ sở dữ liệu và giúp cho người sử dụng phát triển các ứng dụng web đơn giản.
Rasmus đã quyết định công bố mã nguồn của PHP/FI cho mọi người xem, sử dụng cũng như sửa các lỗi có trong nó đồng thời cải tiến mã nguồn. PHP/FI, viết tắt từ "Personal Home Page/Forms Interpreter", bao gồm một số các chức năng cơ bản cho PHP như ta đã biết đến chúng ngày nay. Nó có các biến kiểu như Perl, thông dịch tự động các biến của form và cú pháp HTML nhúng. Cú pháp này giống như của Perl, mặc dù hạn chế hơn nhiều, đơn giản và có phần thiếu nhất quán.
5 Vào năm 1997, PHP/FI 2.0, lần viết lại thứ hai của phiên bản C, đã thu hút được hàng ngàn người sử dụng trên toàn thế giới với xấp xỉ 50.000 tên miền đã được ghi nhận là có cài đặt nó, chiếm khoảng 1% số tên miền có trên mạng Internet. Tuy đã có tới hàng nghìn người tham gia đóng góp vào việc tu chỉnh mã nguồn của dự án này thì vào thời đó nó vẫn chủ yếu chỉ là dự án của một người.0 được chính thức công bố vào tháng 11 năm 1997, sau một thời gian khá dài chỉ được công bố dưới dạng các bản beta. Nhưng không lâu sau đó, nó đã được thay thế bởi các bản alpha đầu tiên của PHP 3.0 là phiên bản đầu tiên cho chúng ta thấy một hình ảnh gần gũi với các phiên bản PHP mà chúng ta được biết ngày nay. Nó đã được Andi Gutmans và Zeev Suraski tạo ra năm 1997 sau khi viết lại hoàn toàn bộ mã nguồn trước đó.
Lý do chính mà họ đã tạo ra phiên bản này là do họ nhận thấy PHP/FI 2.0 hết sức yếu kém trong việc phát triển các ứng dụng thương mại điện tử mà họ đang xúc tiến trong một dự án của trường đại học. Trong một nỗ lực hợp tác và bắt đầu xây dựng dựa trên cơ sở người dùng đã có của PHP/FI, Andi, Rasmus và Zeev đã quyết định hợp tác và công bố PHP 3.0 như là phiên bản thế hệ kế tiếp của PHP/FI 2.0, và chấm dứt phát triển PHP/FI 2. Một động cơ mới, có tên 'Zend Engine', đã đáp ứng được các nhu cầu thiết kế này một cách thành công, và lần đầu tiên được giới thiệu vào giữa năm 1999.0, dựa trên động cơ này, và đi kèm với hàng loạt các tính năng mới bổ sung, đã chính thức được công bố vào tháng 5 năm 2000, gần 2 năm sau khi bản PHP 3. Ngoài tốc độ xử lý được cải thiện rất nhiều, PHP 4.0 đem đến các tính năng chủ yếu khác gồm có sự hỗ trợ nhiều máy chủ Web hơn, hỗ trợ phiên làm việc HTTP, tạo bộ đệm thông tin đầu ra, nhiều 6 cách xử lý thông tin người sử dụng nhập vào bảo mật hơn và cung cấp một vài các cấu trúc ngôn ngữ mới.
Với PHP 4, số nhà phát triển dùng PHP đã lên đến hàng trăm nghìn và hàng triệu site đã công bố cài đặt PHP, chiếm khoảng 20% số tên miền trên mạng Internet.2 MySQL MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng. Vì MySQL là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh. Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên internet. MySQL miễn phí hoàn toàn cho nên bạn có thể tải về MySQL từ trang chủ.
Nó có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32 cho các hệ điều hành dòng Windows, Linux, Mac OSX, Unix, FreeBSD, NetBSD, Novell, NetWare, SGI Irix, Solaris, SunOS,. MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu quan hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL). MySQL được sử dụng cho việc bổ trợ PHP, Perl, và nhiều ngôn ngữ khác, nó làm nơi lưu trữ những thông tin trên các trang web viết bằng PHP hay Perl,. MySQL hiểu SQL là một ngôn ngữ của sử chọn lựa cho tất cả các hệ thống cơ sở dữ liệu hiện đại.
Có thể truy cập MySQL bằng cách sử dụng các ứng dụng mà hỗ trợ ODC (Open Database Connectivity – một giao thức giao tiếp cơ sở dữ liệu được phát triển bởi Microsoft). Trong cùng một thời điểm nhiều client có thể truy cập đến server Các client có thể sử dụng nhiều cơ sở dữ liệu một cách đồng thời. MySQL chạy trên nhiều hệ thống MySQL cung cấp: 7 MySQL Migration Toolkit : MySQL Migration Toolkit là một công cụ đồ họa được cung cấp bởi MySQL cho di chuyển dữ liệu từ hệ thống c ơ sở dữ liệu quan hệ khác nhau để MySQL. MySQL Migration Toolkit được thiết kế để làm việc với MySQL phiên bản 5.