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
PHẦ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 chinh phục hết đỉnh cao này đến đỉnh cao khác. Mạng Internet là một trong những sản phẩ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ần như 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 độ nhanh hơ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ộc sống con người. Hiện tại trên thị trường , các website cho xem phim trực tuyến và download phim 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 dung lượng. Với đồ án này, chúng em xin được trình bày một cách thức quản lý website giú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 đặt hà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 1 dụ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ất thị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ười bao 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ác nhau 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âm má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ới nhau 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ủa mộ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ò như một brochue, nhằm giới thiệu toàn bộ những thông tin mà doanh nghiệp muốn đư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 2 ứng sản phầm thì Website đóng vai trò như một showroom hay một cửa hàng nhằ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ười quan 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 – Phanupong Panyadee (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ào 09/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ên thế 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) 3 Hì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). 4 Hì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). 5 Hì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). 6 Hì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ả. 7 Mở 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: - Apache Web Server Version 1.3.34 - PHP Script Language Version 4.4.1 - MySQL Database Version 5.0.16 - phpMyAdmin Database Manager Version 2.5.7-pl1 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 đượ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 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. 8 * Cấu trúc cơ bản PHP PHP cũng có thể bắt đầu và kết thúc giống với ngôn ngữ HTML, chỉ khác đối với PHP chúng ta có nhiều cách để thể hiện. Cách 1: Cú pháp chính <?php mã lệnh php?> Cách 2: Cú pháp ngắn gọn <? Mã lệnh php ?> Cách 3: Cú pháp giống với ASP <% mã lệnh php %> Cách 4: Cú pháp bắt đầu bằng script <script language=php> </script> Mặc dù có 4 cách thể hiện nhưng đối với lập trình viên có kinh nghiệm thì cách 1 vẫn là lựa chọn tối ưu. Trong PHP để kết thúc 1 dòng lệnh ta sử dụng dấu “;”. Để chú thích 1 đoạn dữ liệu nào đó trong PHP ta sử dụng dấu “//” cho từng dòng. Hoặc dùng cặp thẻ “/* */” cho từng cụm mã lệnh. * Xuất giá trị ra trình duyệt: Chúng ta có cú pháp - Echo”Thông tin”; - Printf”Thông tin”; Thô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. 9 Biế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ông việ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ông thể 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. + Hằng thường viết bằng chữ in để phân biệt với biến 10 [...]... hợp lệ, lưu thông tin mới vào CSDL và thông báo cập nhật thành công • Ngược lại, thông báo có lỗi và yêu cầu nhập lại 2.4 Mô hình thay đổi thông tin phim 32 Bắt đầu Nhập thông tin mới của phim Các thông tin điền hợp lệ? Thông báo lỗi S Đ Lưu thông tin phim vào CSDL Thông báo đã thành công Kết thúc Xử lý thay đổi thông tin phim • Nhập thông tin mới của phim cần thay đổi • Xác nhận thông tin phim hợp... 18 PHẦ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ành trang 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... 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: Chức năng Mô tả Đầu vào Xử lý Đầu ra Xem thông tin Các thông tin về Chọn thể loại Truy nhập vào Hiển thị thông tin có trên web phim như diễn phim hay phim CSDL để lấy cho viên, đạo diễn, cần xem giá tiền, thông tin người. .. thiết Quản lý tin Admin tức quyền có Update, Lưu thay đổi Hiển thị thay thêm, insert, delete tin tức vào đổi thành công chính sửa hay tin tức trong CSDL xoá các tin tức trên web Tổng hợp, xử Cập nhật, sắp Xem các đơn Truy lý đơn hàng xuất Hiển thị các xếp đơn hàng đặt hàng CSDL và lấy đơn hàng và và xử lý các các đơn hàng đơn hàng Quản lý, xử Admin phân loại chúng xem Xem các Truy xuất Hiển thị các 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 người dùng • Xóa bỏ phiên • Hiển thị trang chủ của trang web 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 31 Bắt đầu Thông báo lỗi Nhập thông tin về phim S Các thông tin điền hợp lệ ? Đ Lưu thông tin mới vào CSDL Thông báo đã thành công Kết thúc Xử lý thêm phim vào kho • Nhập thông tin về phim cần thêm • Xác nhận thông tin. .. 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 15 Để 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... thông tin thể loại hợp lệ • Nếu hợp lệ, lưu thông tin mới vào CSDL và thông báo cập nhật thành công • Ngược lại, thông báo có lỗi và yêu cầu nhập lại 2.7 Mô hình xử lý hóa đơn 35 Bắt đầu Danh sách các hóa đơn S S Hóa đơn chưa xử lý ? Đ Hóa đơn đang xử lý ? Đ Cập nhật thành hóa đơn đang xử lý Cập nhật thành hóa đơn đã xử lý Thông báo đã thành công Kết thúc Xử lý hóa đơn đặt hàng • Tiến hành kiểm tra danh... 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 CSDL 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 CSDL Khi ta truy vấn tới CSDL 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 CSDL đó Nếu không, chúng ta sẽ không làm được gì cả 3 Mục đích của hệ thống 2.1 Về trang web Xây dựng một trang web. .. thông tin mới vào CSDL và thông báo cập nhật thành công • Ngược lại, thông báo có lỗi và yêu cầu nhập lại 2.6 Mô hình sửa thể loại phim 34 Bắt đầu Lựa chọn sửa thể loại phim Thông báo lỗi S Các thông tin điền hợp lệ ? Đ Lưu thông tin sửa thể loại phim vào CSDL Thông báo đã thành công Kết thúc Xử lý sửa thể loại phim • Lựa chọn sửa thể loại phim • Xác nhận thông tin thể loại hợp lệ • Nếu hợp lệ, lưu thông