Cùng với sự phát triển không ngừng về kỹ thuật máy tính và mạng điện tử, công nghệ thông tin cũng được những công nghệ có đẳng cấp cao và lần lượt chinh phục hết đỉnh cao này đến đỉnh cao khác
Trang 1PHẦN 1 CƠ SỞ LÝ LUẬN
1 Đặt vấn đề
Cùng với sự phát triển không ngừng về kỹ thuật máy tính và mạng điện tử,công nghệ thông tin cũng được những công nghệ có đẳng cấp cao và lần lượt chinhphục hết đỉnh cao này đến đỉnh cao khác Mạng Internet là một trong những sảnphẩm có giá trị hết sức lớn lao và ngày càng trở nên một công cụ không thể thiếu,
là nền tảng chính cho sự truyền tải, trao đổi thông tin trên toàn cầu
Giờ đây, mọi việc liên quan đến thông tin trở nên thật dễ dàng cho người sửdụng: chỉ cần có một máy tính kết nối internet và một dòng dữ liệu truy tìm thì gầnnhư lập tức… cả thế giới về vấn đề mà bạn đang quan tâm sẽ hiện ra, có đầy đủthông tin, hình ảnh và thậm chí đôi lúc có cả những âm thanh nếu bạn cần…
Bằng internet, chúng ta đã thực hiện được nhiều công việc với tốc độ nhanhhơn và chi phí thấp hơn nhiều so với cách thức truyền thống Chính điều này, đãthúc đẩy sự khai sinh và phát triển của thương mại điện tử và chính phủ điện tửtrên khắp thế giới, làm biến đổi đáng kể bộ mặt văn hóa, nâng cao chất lượng cuộcsống con người
Hiện tại trên thị trường , các website cho xem phim trực tuyến và downloadphim trực tuyến rất nhiều tuy nhiên một websitebán đĩa trực tuyến thì lại rất hiếm
Mà nếu xem phim và download phim sẽ rất tốn dung lượng, điều này là hầu nhưkhông thể đối với những người sử dụng gói dịch vụ Internet trả tiền theo dunglượng
Với đồ án này, chúng em xin được trình bày một cách thức quản lý websitegiúp cho những người quản trị dễ dàng trong việc phân quyền quản lý, thay đổi,cập nhật thông tin trang web, cũng như quản lý hiệu quả khách hàng và các đơn đặthàng trên mạng
2 Mục tiêu đồ án
Nắm vững kiến thức, tìm hiểu và nghiên cứu ngôn ngữ lập trình PHP vàMySQL - một kịch bản trình chủ mã nguồn mở được sử dụng để phát triển ứng
Trang 2dụng thương mại điện tử kết hợp với cơ sở dữ liệu MySQL rất mạnh mẽ và rấtthịnh hành hiện nay.
- Xây dựng một Website hỗ trợ cho việc bán hàng trực tuyến trên Internet:
- Nhanh chóng, hiệu quả
- Đảm bảo chính xác, tiện lợi và dễ dàng sử dụng cho khách hàng
- Thuận tiện cho việc bán và mua hàng
- Dịch vụ khách hàng hoàn hảo
3 Cơ sở lý luận
3.1 Khái niệm về Internet
Internet là một tập hợp các máy tính được nối với nhau và chủ yếu là quađường điện thoại trên toàn thế giới với mục đích trao đổi và chia sẻ thông tin.Trước đây mạng Internet được sử dụng chủ yếu ở các tổ chức chính phủ vàtrong các trường học Ngày nay mạng Internet đã được sử dụng bởi hàng tỷ ngườibao gồm cả cá nhân các doanh nghiệp lớn, nhỏ, các trường học và tất nhiên là có
cả Nhà Nước và các tổ chức Chính Phủ Phần chủ yếu nhất của mạng Internet làWorld Wide Web
Mạng Internet là của chung, điều đó có nghĩa là không ai thực sự sở hữu nóvới tư cách cá nhân Mỗi phần nhỏ của mạng được quản lý bởi các tổ chức khácnhau nhưng không một ai, không một thực thể nào cũng như không một trung tâmmáy tính nào nắm quyền điều khiển mạng Mỗi phần của mạng được liên kết vớinhau theo một cách thức nhằm tạo nên một mạng toàn cầu
3.2 Khái niệm về web
Website được hiểu một cách chung nhất đó chính là một kênh thông tin củamột chủ thể nào đó (chủ thể ở đây có thể là doanh nghiệp, cơ quan nhà nước, cánhân, ) nhằm đưa đến cho người xem hiểu rõ hơn về những vấn đề mà chủ thểmuốn đưa ra
Nhìn từ góc độ doanh nghiệp kinh doanh dịch vụ thì Website đóng vai trò
Trang 3đưa tới khách hàng của mình Còn đối với những doanh nghiệp sản xuất và cungứng sản phầm thì Website đóng vai trò như một showroom hay một cửa hàngnhằm trưng bày, giới thiệu các sản phầm của mình tới khách hàng và những ngườiquan tâm.
3.3 Lập trình tương tác cơ sở dữ liệu
3.3.1 Tìm hiểu về AppServ
* Giới thiệu về AppServ
AppServ được phát triển bởi một công ty của Thái Lan – PhanupongPanyadee (AppServ Foundation) AppServ bao gồm các dịch vụ như Apache, PHP,MySQL và tất cả chỉ cài đặt trong 1 phút Lần đầu tiên phân phối cung cấp vào09/10/2001 Nhiều người sử dụng AppServ và phát triển ở khắp mọi nơi trên thếgiới Ban đầu trang web cung cấp AppServ tiếng Thái và tiếng Anh và hiện nay đãlên đến 11 thứ tiếng Trong tương lai trang web sẽ cung cấp cho các ngôn ngữ trênthế giới
* Gói dịch vụ của AppServ
AppServ có đầy đủ tính năng cần thiết cho một máy chủ như Apache,MySQL, PHP, phpMyAdmin Bạn có thể thiết lập trong 1 tới 2 phút
Gói AppServ bao gồm - Apache
- PHP
- MySQL
- PhpMyAdmin
* Các bước cài đặt AppServ
Bước 1: Chạy file appserv-win32-2.5.4.exe để tiến hành cài đặt Cửa sổ
Welcome của màn hình Setup hiện ra Nhấp Next để tiếp tục (xem hình 1.1)
Trang 4Hình 1.1: Cửa sổ Setup appserv-win32-2.5.4
Bước 2: Chọn thư mục cài đặt Bạn giữ nguyên mặc định và nhấp Next để
tiếp tục (xem hình 1.2)
Hình 1.2: Chọn thư mục cài đặt
Bước 3: Chọn chế độ cài đặt.
Để biết các thành phần nào được cài vào máy tính, bạn đánh dấu
chọn Custom và nhấp Next để tiếp tục (xem hình 1.3).
Trang 5Hình 1.3: Chọn chế độ cài đặt
Bước 4: Chọn các thành phần cài đặt.
Ta để mặc định (chọn hết toàn bộ), nhấp Next để tiếp tục (xem hình 1.4).
Hình 1.4: Các thành phần đi kèm
Bước 5: Khai báo cho quá trình cài đặt Apache Server
Tại bước này bạn cần khai báo Server name, Administrator’s Email
address, HTTP Port Ngoại trừ ô Administrator’s Email address có thể thay
đổi, các ô khai báo khác hãy để mặc định như chương trình yêu cầu:
- Server name: localhost;
- Administrator’s Email address: admin@localhost.com
- HTTP Port: 80.
Sau đó nhấp Next để tiếp tục (xem hình 1.5).
Trang 6Hình 1.5: Cài đặt Apache Server
Bước 6: Khai báo cho quá trình cài đặt MySQL
Phần khai báo thông tin để cài đặt MySQL bao gồm: User name,
Password và Charset Hãy khai báo tùy ý 2 mục đầu, mục Charset để mặc định
là latin1 (Chú ý: chỉ dùng các chữ cái latin, không viết từ có khoảng trắng hay có
dấu tiếng Việt) Trong quá trình cài đặt AppServ đòi hỏi bạn phải nhớ Usernamevì bạn sẽ phải khai báo nó khi cài đặt NukeViet sau này Password không cần thiết vì bạn cài trên localhost, do đó nên để trống Nhấp Next để tiếp tục (xem hình 1.6).
Hình 1.6: Cài đặt MySQL Chờ trong giây lát, quá trình cài đặt sẽ diễn ra (xem hình 1.7)
Trang 7Hình 1.7: Tiến trình cài đặt
Bước 7: Kết thúc cài đặt và khởi động chương trình:
Nhấp Close để kết thúc quá trình cài đặt và khởi động Apache &
MySQL (xem hình 1.8)
Hình 1.8: Kết thúc cài đặt Apache & MySQL sẽ được tự động khởi động ngay sau khi kết thúc cài đặt (xem hình 1.9)
Hình 1.9: Khởi động dịch vụ Apache & MySQL
Bước 8: Kiểm tra kết quả.
Trang 8Mở Internet Explorer, gõ địa chỉ http://localhost/ nếu thấy trang web như hình 1.10 tức là bạn đã cài thành công appserv.
Hình 1.10: Kiểm tra kết quả Sau khi cài xong appserv 2.5.4 máy tính của bạn sẽ có các chương trình sau:
3.3.2 Ngôn ngữ PHP (Hypertext Preprocessor)
* Tổng quan về PHP
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 đượcdù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 trangHTML 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 C và Java, dễ học và thời gian xây dựng sản phẩm tương đốingắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thànhmột ngôn ngữ lập trình web phổ biến nhất thế giới
Trang 9Thông tin bao gồm: Biến, chuỗi, hoặc lệnh HTML
Nếu giữa 2 chuỗi muốn liên kết với nhau ta sử dụng dấu “.”
* Khái niệm biến, hằng, chuỗi và các kiểu dữ liệu
a) Biến trong PHP.
Trang 10Biến được xem là vùng nhớ dữ liệu tạm thời Và giá trị có thể thay đổi được.Biến được bắt đầu bằng ký hiệu "$" Và theo sau chúng là 1 từ, 1 cụm từ nhưng phải viết liền hoặc có gạch dưới.
1 biến được xem là hợp lệ khi nó thỏa các yếu tố :
+ Tên của biến phải bắt đầu bằng dấu gạch dưới và theo sau là các ký tự, số hay dấu gạch dưới
+ Tên của biến không được phép trùng với các từ khóa của PHP
Trong PHP để sử dụng 1 biến chúng ta thường phải khai báo trước, tuy nhiên đối với các lập trình viên khi sử dụng họ thường xử lý cùng một lúc các côngviệc, nghĩa là vừa khái báo vừa gán dữ liệu cho biến
Bản thân biến cũng có thể gãn cho các kiểu dữ liệu khác Và tùy theo ý định của người lập trình mong muốn trên chúng
Một số ví dụ về biến :
b) Khái niệm về hằng trong PHP.
Nếu biến là cái có thể thay đổi được thì ngược lại hằng là cái chúng ta khôngthể thay đổi được Hằng trong PHP được định nghĩa bởi hàm define theo cú pháp: define (string tên_hằng, giá_trị_hằng )
Cũng giống với biến hằng được xem là hợp lệ thì chúng phải đáp ứng 1 số yếu tố :
+ Hằng không có dấu "$" ở trước tên
+ Hằng có thể truy cập bất cứ vị trí nào trong mã lệnh
+ Hằng chỉ được phép gán giá trị duy nhất 1 lần
Trang 11Ví dụ :
c) Khái niệm về chuỗi:
Chuỗi là một nhóm các kỹ tự, số, khoảng trắng, dấu ngắt được đặt trong các dấu nháy
$last_name= ‘Van A’;
Để liên kết 1 chuỗi và 1 biến chúng ta thường sử dụng dấu "."
Ví dụ:
d) Kiểu dữ liệu trong PHP
Các kiểu dữ liệu khác nhau chiếm các lượng bộ nhớ khác nhau và có thể được xử lý theo cách khác nhau khi chúng được theo tác trong 1 script
Trong PHP chúng ta có 6 kiểu dữ liệu chính như sau :
Trang 12Chúng ta có thể sử dụng hàm dựng sẵn gettype() của PHP4 để kiểm tra kiểu của bất kỳ biến.
Ví dụ:
* Các biểu thức cơ bản trong PHP
- Biểu thức điều kiện:
Là biểu thức dùng kiểm tra 1 sự kiện Nếu chúng thỏa điều kiện đó thì sẽ thực thi một hành động Ngược lại sẽ là một hành động khác
Trang 14- Biểu thức switch case:
Là biểu thức sử dụng để giảm thiểu quá trình xử lý dữ liệu nếu có quá nhiềuphép toán if else
Cú pháp:
Switch(biến)
{
Trang 15* Xử lý giá trị form trong PHP
Một trong những ứng dụng quan trọng của PHP đó là giúp tương tác xử lý
dữ liệu trên form của người sử dụng Nhằm mục đích giúp cập nhật thông tin một cách linh động và dễ dàng quản lý chung hơn bởi sự kết hợp tuyệt vời của cơ sở dữ liệu Tuy nhiên để làm được điều ấy PHP yêu cầu form phải đáp ứng 1 số quy định chung đặt ra
Chúng ta cùng phân tích thẻ form trong HTML sau:
Chúng ta thấy rằng 1 form phải bao gồm:
Tên form để dễ dàng tách biệt với giá trị của chúng
Action: hành động chuyển tiếp đến link xử lý.
Method: Là phương thức truyền bao gồm POST và GET.
* Khái niệm về gọi hàm và gọi lại hàm trong PHP
Trang 16Để giảm thời gian lặp lại 1 thao tác code nhiều lần, PHP hỗ trợ người lập trình việc tự định nghĩa cho mình những hàm có khả năng lặp lại nhiều lần trong website Việc này cũng giúp cho người lập trình kiểm soát mã nguồn một cách mạch lạc Đồng thời có thể tùy biến ở mọi trang Mà không cần phải khởi tạo hay viết lại mã lệnh như HTML thuần.
Trang 17- Gọi lại hàm trong PHP:
PHP cung cấp nhiều hàm cho phép triệu gọi lại file Như hàm
include("URL đến file"), require("URL Đến file")
Ngoài hai cú pháp trên còn có include_once(), require_once() Hai hàm nàycũng có trách nhiệm gọi lại hàm Những chúng sẽ chỉ gọi lại duy nhất 1 lần
mà thôi
3.3.3 Cơ sở dữ liệu MySQL
MySQL là một phần mềm quản trị CSDL mã nguồn mở, miễn phí nằm trongnhóm LAMP (Linux - Apache - MySQL - PHP)
MySQL là một phần mềm quản trị CSDL 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ácCSDL, mỗi CSDL 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ặcnhiều CSDL khác nhau, mỗi người dùng có một tên truy cập (user name) và mậtkhẩu tương ứng để truy xuất đến CSDL Khi ta truy vấn tới CSDL MySQL, ta phảicung cấp tên truy cập và mật khẩu của tài khoản có quyền sử dụng CSDL đó Nếukhông, chúng ta sẽ không làm được gì cả
Xây dựng hệ thống tìm kiếm hiệu quả qua những thông tin chi tiết của bộphim.Tích hợp tính năng đếm số thành viên đăng ký vào trang web
Trang 18Để thực hiện được chức năng liên hệ và đặt hàng thì khách hàng cần đăng kýtài khoản.
Trang 19PHẦN 2 PHÂN TÍCH VÀ THIẾT KẾ DỮ LIỆU
1 Phân tích
1.1 Những loại đối tượng sử dụng hệ thống
Admin: Người có quyền cao nhất trong trang web, có quyền với mọi thông
tin phim cũng như các thông tin đơn hàng là người trực tiếp giám sát điều hànhtrang web
Guest: Là khách ghé vào xem trang web Có quyền xem, tìm kiếm các
thông tin và có thể đăng ký thành viên nếu có nhu cầu
Member: Là những người đã đăng ký thành viên trong trang web Có mọi
quyền lợi giống như guest ngoài ra còn có quyền đặt hàng, viết bình luận về bộphim hay viết bài đóng góp ý kiến cho trang web
1.2 Phân tích yêu cầu
Guest:
Xem thông tin
có trên web
Các thông tin về phim như diễn viên, đạo diễn, giá tiền, nội dung phim
Chọn thể loại phim hay phim cần xem
Truy nhập vào CSDL để lấy thông tin
Hiển thị thông tin cho người sử dụng
Tìm kiếm thông
tin
Tìm kiếm hàng hoá theo từ khoá
Nhập từ khoá cần tìm kiếm
Truy nhập vào CSDL để tìm kiếm lấy thông tin
Hiển thị thông tin tìm kiếm được
Kiểm tra tính hợp lệ của thông tin vừa nhập nếu ko có lỗi thì lưu vào CSDL
Hiển thị đăng ký thành công Nếu
có lỗi thì báo lỗi yêu cầu nhập lại
Member : Có các chức năng như
Trang 20 Tìm kiếm thông tin trên trang web
Ngoài ra member còn có các chức năng khác như sau
Đăng nhập
Người sử dụng dùng username và password để đăng nhập vào web
Nhập username và password
Truy xuất CSDL tìm kiếm và kiểm tra username
và password
Hiển thị đăng nhập thành công nếu lỗi thông báo lỗi
và quay về trang loginThoát khỏi tài
Hiển thị logout thành công
Đặt hàng,
mua hàng
Đặt, mua sản phẩm mà khách hàng muốn mua
PhimKH muốn mua
Kiểm tra kho hàng trong CSDL, xử lý thêm, sửa, xóa giỏ hàng
Thông báo thành công
Liên hệ
Khách hàng liên hệ với admin
Nhập vào tiêu
đề và nội dung góp ý
Lưu thông tingóp ý vào CSDL
Hiển thị gửi thông tin thành công
Admin: Có các quyền của member như
Ngoài ra admin còn có các chức năng khác như sau
Trang 21Quản lý sản
phẩm
Admin xem,cập nhật phimmới
Update,insert, deletephim
Lưu thay đổivào trongCSDL
Hiển thị thayđổi thành công
member
Admin xemdanh sáchuser, và cóthể block usernếu cần thiết
Block user,unblock user
Lưu thông tinvào CSDL
Hiển thị thôngbáo thành công
Quản lý tin
tức
Admin cóquyền thêm,chính sửa hayxoá các tintức trên web
Update,insert, deletetin tức
Lưu thay đổitin tức vàotrong CSDL
Hiển thị thayđổi thành công
Tổng hợp, xử
lý đơn hàng
Cập nhật, sắpxếp đơn hàng
và xử lý cácđơn hàng
Xem các đơnđặt hàng
Truy xuấtCSDL và lấycác đơn hàng
Hiển thị cácđơn hàng và
chúngQuản lý, xử
lý các thông
tin liên hệ
Admin xemcác thông tinliên hệ vàphản hồi lạicho kháchhàng
Xem cácthông tin liênhệ
Truy xuấtCSDL và lấycác thông tinliên hệ
Hiển thị cácthông tin liên
hệ đã xắp xếp(đã xử lý haychưa xử lý)
2 Sơ đồ thiết kế logic và hệ thống
2.1 Sơ đồ thiết kế logic
Trang 24Nuocsanxuat
Phim
Ql_dienvien
Trang 25Theloaiphim
Theloaitin
Tintuc
Trang 26PHẦN 3 THIẾT KẾ XỬ LÝ
1 Các thuật toán xử lý đối với Guest và Members
1.1 Mô hình đăng ký
Xử lý người dùng đăng ký làm thành viên
trong cơ sở dữ liệu hay không
Bắt đầu
Thông tin về khách hàng
Dữ liệu hợp lệ ?
Thêm vào cơ sở
dữ liệu
Đ
Thông báo lỗi
Thông báo đã thành công
S
Kết thúc
Trang 27 Ngược lại, thông báo đăng ký thành công.
1.2 Mô hình tìm kiếm
Xử lý người dùng tìm kiếm thông tin
không
1.3 Mô hình liên hệ
Bắt đầu
Nhập từ khóa tìm kiếm
Dữ liệu hợp lệ ?
Đ
Thông báo không tìm thấy
Hiển thị kết quả tìm được
S
Kết thúc
Trang 28Xử lý ý kiến phản hồi của người dùng
Đ
Thông báo có lỗi
Thông báo thành công
S
Kết thúc Chèn vào CSDL
Trang 29Xử lý yêu cầu mua hàng của người dùng
Kết thúc Thêm ,xóa phim trong giỏ hàng
Trang 30Xử lý người dùng đăng nhập vào hệ thống
trong cơ sở dữ liệu hay không
vào hệ thống
1.6 Mô hình đăng xuất
Bắt đầu
Thông in về khách hàng
Dữ liệu hợp lệ?
Đ
Thông báo đăng nhập lại
Thông báo đã thành công
S
Kết thúc
Trang 31Xử lý người dùng đăng xuất khỏi hệ thống
2 Thiết kế xử lý đối với Admin
2.1 Mô hình đăng nhập: như trên
2.2 Mô hình đăng xuất: như trên
2.3 Mô hình thêm phim