Để xây dựng một ứng dụng Web hoàn chỉnh và có tính thương mại, bạn cần kết hợp cả Client Script kịch bản trình khách và Server Script kịch bản trên trình chủ với một loại cơ sở dữ liệu n
INTERNET, WORLD WIDE WEB VÀ HTML
Khái niệm cơ bản về Internet
Internet là mạng của các máy tính trên toàn cầu được thành lập từ những năm
80 bắt nguồn từ mạng APARRNET của bộ quốc phòng Mỹ
Internet cung cấp một kho tài liệu phong phú cho việc nghiên cứu, học tập, trao đổi thư từ, và giao dịch mua bán Một trong những mục tiêu chính của Internet là tạo ra sự chia sẻ thông tin giữa người dùng trên nhiều lĩnh vực khác nhau.
Mỗi máy tính trên Internet được gọi là một host, và tất cả các host này đều có khả năng giao tiếp với nhau Một số host kết nối qua đường dây Dial-up tạm thời, trong khi những host khác sử dụng kết nối mạng ổn định hơn như Ethernet hoặc Tokenring.
Các máy tính trên mạng được chia làm 2 nhóm Client và Server
- Client: Máy khách trên mạng, chứa các chương trình Client
Máy chủ (Server) là thiết bị chứa các chương trình và tài nguyên như tập tin, tài liệu, phục vụ cho nhiều máy khách Nó luôn ở trạng thái chờ đợi để nhận và đáp ứng các yêu cầu từ Client.
- Internet Server: Là những server cung cấp các dịch vụ Internet như Web Server, Mail Server, FPT Server…
Các dịch vụ thường dùng trên Internet
- Dịch vụ World Wide Web (gọi tắt là Web)
- Dịch vụ Electronic Mail (viết tắt là Email)
Để kết nối với các máy tính khác trên Internet, mọi thiết bị cần hỗ trợ giao thức TCP/IP (Transmission Control Protocol/Internet Protocol), một giao thức đồng bộ cho phép truyền thông điệp từ nhiều nguồn đến nhiều đích Giao thức này cho phép người dùng thực hiện nhiều tác vụ đồng thời, chẳng hạn như lấy thư từ hộp thư trong khi vẫn truy cập trang web TCP đảm bảo tính an toàn cho dữ liệu trong quá trình truyền tải.
IP là giao thức chi phối phương thức vận chuyển dữ liệu trên Internet.
World Wide Web
1.2.1 Các khái niệm cơ bản về World Wide Web
World Wide Web (WWW), hay còn gọi là Web, là dịch vụ phổ biến nhất trên Internet, chiếm khoảng 85% giao dịch trực tuyến Hiện nay, số lượng website trên toàn cầu đã đạt con số khổng lồ, cho phép người dùng truy cập thông tin văn bản, hình ảnh, âm thanh và video từ khắp nơi Thông qua các website, doanh nghiệp có thể giảm thiểu chi phí in ấn và phân phối tài liệu cho khách hàng ở nhiều địa điểm khác nhau.
Có nhiều cách để tạo trang Web:
- Có thể tạo trang Web trên bất kì chương trình xử lí văn bản nào
- Tạo Web bằng cách viết mã nguồn bởi một trình soạn thảo văn bản như: Notepad, WordPad…là những chương trình soạn thảo văn bản có sẵn trong Window
- Thiết kế bằng cách dùng Web Wizard và công cụ của Word 97, Word 2000
Thiết kế web hiệu quả với phần mềm chuyên nghiệp như FrontPage, Dreamweaver và Nescape Editor giúp tiết kiệm thời gian và công sức Dreamweaver, với mã lệnh HTML sẵn có, cho phép người dùng dễ dàng tạo trang web Để phát triển một ứng dụng web hoàn chỉnh và có tính thương mại, cần kết hợp giữa Client Script và Server Script cùng với cơ sở dữ liệu như MS Access, SQL Server, MySQL hay Oracle.
Khi triển khai ứng dụng Web trên mạng, bên cạnh yêu cầu về cấu hình phần cứng, bạn cần phải có một trình chủ Web, thường được gọi là Web Server.
1.2.3 Trình duyệt Web (Web Client hay Web Browser)
Trình duyệt Web là phần mềm cho phép người dùng truy cập và tương tác với dữ liệu trên Internet Chức năng chính của Web Browser là nhận yêu cầu từ người dùng, gửi đến Web Server và hiển thị dữ liệu nhận được trên màn hình Để sử dụng dịch vụ WWW, người dùng cần có một trình duyệt Web và kết nối Internet thông qua nhà cung cấp dịch vụ (ISP).
Internet Explorer là một trình duyệt tiêu chuẩn, cho phép người dùng truy cập và trình bày nội dung từ các máy chủ Web, đồng thời hỗ trợ việc truy cập đến bất kỳ trang web nào trên Internet.
Webserver là một máy tính kết nối Internet, chạy phần mềm chuyên dụng để xử lý các nhiệm vụ như tìm kiếm trang web, xử lý dữ liệu và kiểm tra tính hợp lệ của dữ liệu Nó cũng lưu trữ cơ sở dữ liệu và cung cấp dịch vụ Web, đóng vai trò quan trọng trong việc quản lý và cung cấp thông tin trực tuyến.
Webserver hỗ trợ các công nghệ khác nhau:
- IIS (Internet Information Service) : Hỗ trợ ASP, mở rộng hỗ trợ PHP
- Tomcat: Hỗ trợ JSP (Java Servlet Page)
Tài liệu được phân phát từ hệ thống file của Server một cách đơn giản, với định dạng trang web tĩnh bao gồm siêu liên kết, văn bản và hình ảnh cơ bản Ưu điểm của phương pháp này là cơ sở dữ liệu nhỏ, giúp phân phát dữ liệu hiệu quả và nhanh chóng đáp ứng nhu cầu của Client Nên sử dụng web tĩnh khi thông tin không cần thay đổi.
Nhược điểm: Không đáp ứng được yêu cầu phức tạp của người sử dụng, không linh hoat
Hoạt động của trang Web tĩnh được thể hiện như sau:
Server gửi trả tài liệu
Nội dung của trang web động tương tự như trang web tĩnh, nhưng có khả năng tương tác với cơ sở dữ liệu (CSDL) để đáp ứng các nhu cầu phức tạp Khi nhận được yêu cầu từ Web Client, chẳng hạn như một truy vấn từ CSDL, trang web động sẽ xử lý và trả về kết quả phù hợp.
Server, ứng dụng Internet Server sẽ truy vấn CSDL này, tạo một trang HTML chứa kết quả truy vấn rồi gửi trả cho người dùng
Hoạt động của Web động:
Form Dữ liệu trả về Dữ liệu trả về
HTML
Trang web là sự kết hợp giữa văn bản và các thẻ HTML, trong đó HTML (HyperText Markup Language) được quy định bởi hội đồng World Wide Web Consortium (W3C) Tập tin HTML là một tập tin thông thường với đuôi html hoặc htm.
HTML là ngôn ngữ dùng để định dạng văn bản trên trang web thông qua các thẻ Các thẻ HTML không chỉ giúp định dạng mà còn cho phép liên kết từ hoặc cụm từ với các tài liệu khác trên Internet Đa phần các thẻ HTML có dạng thẻ đóng mở, trong đó thẻ đóng có cùng tên với thẻ mở nhưng thêm dấu gạch chéo (/) ở phía trước Ngôn ngữ HTML quy định cú pháp không phân biệt chữ hoa chữ thường, ví dụ như và đều được chấp nhận Ngoài ra, không có khoảng trắng trong định nghĩa thẻ.
1.3.1 Cấu trúc chung của một trang HTML
Tiêu đề của trang Web
1.3.2 Các thẻ HTML cơ bản
1 Thẻ : Tạo đầu mục trang
2 Thẻ : Tạo tiêu đề trang trên thanh tiêu đề, đây là thẻ bắt buộc Thẻ title cho phép bạn trình bày chuỗi trên thanh tựa đề của trang Web mỗi khi
3 Thẻ : Tất cả các thông tin khai báo trong thẻ đều có thể xuất hiện trên trang Web Những thông tin này có thể nhìn thấy trên trang Web
4 Các thẻ định dạng khác Thẻ
…
:Tạo một đoạn mới Thẻ: Thay đổi phông chữ, kích cỡ và màu kí tự…
5 Thẻ định dạng bảng …: Đây là thẻ định dạng bảng trên trang Web Sau khi khai báo thẻ này, bạn phải khai báo các thẻ hàng và thẻ cột
cùng với các thuộc tính của nó
6 Thẻ hình ảnh : Cho phép bạn chèn hình ảnh vào trang Web Thẻ này thuộc loại thẻ không có thẻ đóng
7 Thẻ liên kết : Là loại thẻ dùng để liên kết giữa các trang Web hoặc liên kết đến địa chỉ Internet, Mail hay Intranet(URL) và địa chỉ trong tập tin trong mạng cục bộ (UNC)
8 Các thẻ Input: Thẻ Input cho phép người dùng nhập dữ liệu hay chỉ thị thực thi một hành động nào đó, thẻ Input bao gồm các loại thẻ như: text, password, submit, button, reset, checkbox, radio, image
9 Thẻ Textarea: < Textarea> < \Textarea>: Thẻ Textarea cho phép người dùng nhập liệu với rất nhiều dòng Với thẻ này bạn không thể giới hạn chiều dài lớn nhất trên trang Web
10 Thẻ Select: Thẻ Select cho phép người dùng chọn phần tử trong tập phương thức đã được định nghĩa trước Nếu thẻ Select cho phép người dùng chọn một phần tử trong danh sách phần tử thì thẻ Select sẽ giống như combobox Nếu thẻ Select cho phép người dùng chọn nhiều phần tử cùng một lần trong danh sách phần tử, thẻ Select đó là dạng listbox
11 Thẻ Form: Khi bạn muốn submit dữ liệu người dùng nhập từ trang Web phía Client lên phía Server, bạn có hai cách để làm điều nàu ứng với hai phương thức POST và GET trong thẻ form Trong một trang Web có thể có nhiều thẻ Form khác nhau, nhưng các thẻ Form này không được lồng nhau, mỗi thẻ form sẽ được khai báo hành động (action) chỉ đến một trang khác.
TÌM HIỂU NGÔN NGỮ PHP Và MYSQL
Ngôn ngữ PHP
PHP là chữ viết tắt của “Personal Home Page” do Rasmus Lerdorf tạo ra năm 1994
Vì tính hữu dụng của nó và khả năng phát triển, PHP bắt đầu được sử dụng trong môi trường chuyên nghiệp và nó trở thành “PHP: Hypertext Preprocessor”
PHP là một ngôn ngữ kịch bản được nhúng trong HTML, cho phép mã PHP được chèn vào các trang HTML một cách linh hoạt.
PHP là ngôn ngữ lập trình mạnh mẽ, hoạt động chủ yếu trên máy chủ (Server-Side) và có khả năng chạy trên nhiều hệ điều hành khác nhau (cross-platform) Điều này có nghĩa là tất cả các hoạt động trong PHP đều diễn ra trên máy chủ, cho phép mã kịch bản PHP được viết trên một máy chủ có thể hoạt động trơn tru trên máy chủ khác mà không cần thay đổi nhiều Tính năng này giúp PHP trở thành một lựa chọn linh hoạt và tiện lợi cho các nhà phát triển.
Để một trang web sử dụng ngôn ngữ PHP, cần phải thực hiện tất cả các quy trình xử lý thông tin và cuối cùng xuất kết quả dưới dạng ngôn ngữ HTML.
Khác với các ngôn ngữ lập trình khác, PHP được phát triển nhằm thực hiện các tác vụ cụ thể sau khi xảy ra một sự kiện, chẳng hạn như khi người dùng gửi một biểu mẫu hoặc truy cập vào một URL.
2.2 Tại sao nên dùng PHP Để thiết kế Web động có rất nhiều ngôn ngữ lập trình khác nhau để lựa chọn, mặc dù cấu hình và tính năng khác nhau nhưng chúng vẵn đưa ra những kết quả giống nhau Chúng ta có thể lựa chọn cho mình một ngôn ngữ: ASP, PHP, Java, Perl và một số loại khác nữa Vậy tại sao chúng ta lại nên chọn PHP Rất đơn giản, có những lí do sau mà khi lập trình Web chúng ta không nên bỏ qua sự lựa chọn tuyệt vời này
PHP được sử dụng làm Web động vì nó nhanh, dễ dàng, tốt hơn so với các giải pháp khác
PHP là một ngôn ngữ lập trình mạnh mẽ với khả năng tích hợp tốt với hầu hết các cơ sở dữ liệu, mang lại tính linh hoạt và khả năng phát triển không giới hạn Với đặc tính mã nguồn mở, PHP hoàn toàn miễn phí và được hỗ trợ bởi một cộng đồng phát triển năng động, luôn nỗ lực cải tiến và khắc phục lỗi trong các ứng dụng.
PHP là ngôn ngữ lập trình dễ tiếp cận cho người mới, đồng thời cũng đáp ứng tốt nhu cầu của lập trình viên chuyên nghiệp Với PHP, mọi ý tưởng lập trình đều có thể được thực hiện một cách xuất sắc.
Gần đây, PHP đã nhanh chóng bắt kịp ASP, ngôn ngữ kịch bản từng được xem là phổ biến nhất, với sự hiện diện của PHP trên 12 triệu trang web.
PHP là ngôn ngữ lập trình phía máy chủ, cho phép mã lệnh được xử lý trên máy chủ để cung cấp nội dung cho các trang web theo yêu cầu của người dùng qua trình duyệt.
Máy khách Yêu cầu URL Máy chủ hàng HTML Web
Khi người dùng truy cập vào website viết bằng PHP, máy chủ sẽ đọc và xử lý mã lệnh PHP theo hướng dẫn đã được mã hóa Mã lệnh này yêu cầu máy chủ gửi dữ liệu HTML phù hợp đến trình duyệt, mà trình duyệt sẽ hiển thị như một trang HTML tiêu chuẩn PHP thực chất là một trang HTML có nhúng mã PHP, với phần mở của PHP được đặt trong thẻ Khi trình duyệt truy cập vào trang PHP, máy chủ sẽ đọc nội dung file, lọc và thực thi các đoạn mã PHP, rồi thay thế kết quả vào vị trí ban đầu trong file, cuối cùng trả về một trang HTML hoàn chỉnh cho trình duyệt.
Có 4 loại thẻ khác nhau mà bạn có thể sử dụng khi thiết kế trang PHP:
- Kiểu Short: Thẻ mặc định mà các nhà lập trình PHP thường sử dụng
Ví dụ:
- Kiều đinh dạng XML: Thẻ này có thể sử dụng với văn bản đinh dạng XML
Ví dụ: .
HTTP_POST_VARS: Mảng các giá trị nguyên truyền tới script thông qua phương thức HTTP POST
HTTP_COOKIE_VARS là một mảng chứa các giá trị được truyền đến script hiện tại thông qua HTTP cookie Nó chỉ hoạt động khi cấu hình "track_vars" được kích hoạt hoặc khi có chỉ dẫn .
Trong PHP, mỗi biến đều có giới hạn phạm vi Để sử dụng một biến toàn cục (global) trong một hàm, bạn cần khai báo lại biến đó Nếu không, biến sẽ được coi là cục bộ trong hàm và không thể truy cập được giá trị toàn cục.
CƠ SỞ DỮ LIỆU MYSQL
1 Giới thiệu cơ sở dữ liệu
MySQL là ứng dụng cơ sở dữ liệu mã nguồn mở được ưa chuộng nhất hiện nay, theo thông tin từ www.mysql.com, và thường được sử dụng kết hợp với PHP Trước khi bắt đầu làm việc với MySQL, việc xác định nhu cầu của ứng dụng là rất quan trọng.
MySQL là hệ quản trị cơ sở dữ liệu phổ biến trên Windows và Linux, cho phép người dùng thực hiện các thao tác dễ dàng Trước khi viết mã PHP, việc hiểu rõ công nghệ MySQL là rất quan trọng, vì sự tích hợp giữa PHP và MySQL sẽ đảm bảo hiệu quả cho các ứng dụng web.
2 Mục đích sử dụng cơ sở dữ liệu
Mục đích sử dụng cơ sở dữ liệu bao gồm các chức năng như: lưu trữ (storage), truy cập (accessibility), tổ chức (organization) và xử lí (manipulation)
Lưu trữ dữ liệu có thể thực hiện trên đĩa và cho phép chuyển đổi giữa các cơ sở dữ liệu khác nhau Đối với quy mô nhỏ, bạn có thể lựa chọn các cơ sở dữ liệu như Microsoft Excel, Microsoft Access, MySQL hoặc Microsoft Visual FoxPro Trong khi đó, nếu ứng dụng của bạn có quy mô lớn, các lựa chọn phù hợp hơn sẽ là Oracle hoặc SQL Server.
Truy cập dữ liệu phụ thuộc vào mục đích và yêu cầu của người sử dụng Ở mức độ cục bộ, việc truy cập cơ sở dữ liệu diễn ra ngay trong chính cơ sở dữ liệu để trao đổi và xử lý dữ liệu Tuy nhiên, khi yêu cầu và mục đích của người dùng vượt ra ngoài phạm vi của một cơ sở dữ liệu, cần thiết phải có các phương thức truy cập dữ liệu giữa các cơ sở dữ liệu khác nhau, chẳng hạn như Microsoft Access kết nối với SQL Server, hoặc SQL Server tương tác với cơ sở dữ liệu Oracle.
Tổ chức cơ sở dữ liệu phụ thuộc vào mô hình và đặc điểm riêng của từng ứng dụng, yêu cầu phân tích và thiết kế cẩn thận Để tối ưu hóa việc truy cập và xử lý, cần tuân thủ một số tiêu chuẩn hệ thống cơ sở dữ liệu trong quá trình tổ chức.
Để xử lý và truy vấn cơ sở dữ liệu hiệu quả, cần sử dụng các phát biểu truy vấn và phép toán phù hợp với mục đích cụ thể Việc thao tác dữ liệu trong cơ sở dữ liệu thường được thực hiện bằng các ngôn ngữ lập trình như PHP, C++, Java, và Visual Basic.
3.3 Các kiểu dữ liệu trong cơ sở dữ liệu MySQL
Kiểu dữ liệu số nguyên
Loại Range Bytes Diễn giải
Tinyint -127->128 hay 0 255 1 Số nguyên rất nhỏ
Bigint -2 63-> 2 63 -1 hay 0 2 64 -1 8 Số nguyên lớn
Kiểu dữ liệu số chấm động
Loại Range Bytes Diễn giải
Float phụ thuộc số thập phân 4 Số thập phân dạng Single hay Double Float(M, D) ±1 175494351E-38 ±3 40282346638
2 Số thập phân dạng Single Double(M, D) ±1 7976931348623157308 ±2 2250738585072014E-
8 Số thập phân dạng Double
Float(M[, D]) Số chấm động lưu dưới dạng char
3.3.2 Loại dữ liệu kiểu Date and Time
Kiểu dữ liệu Date and Time cho phép bạn nhập dữ liệu dưới dạng chuỗi ngày tháng hay dạng số
Dữ liệu kiểu số nguyên
Date 1000-01-01 Date trình bày dưới dạng yyyy-mm-dd
Time trình bày dưới dạng hh:mm:ss
Date và Time trình bày dưới dạng yyyy-mm-dd hh:mm:ss
TimeStamp trình bày dưới dạng yyyy-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
Kiểu dữ liệu String được chia thành ba loại chính: đầu tiên là char (chiều dài cố định) và varchar (chiều dài biến thiên); thứ hai là Text và Blob, trong đó Text cho phép lưu trữ chuỗi lớn còn Blob dùng để lưu trữ đối tượng nhị phân; cuối cùng là Enum và Set.
Chiều dài của chuỗi lớn nhất 255 ký tự
Chiều dài của chuỗi lớn nhất 255 ký tự
Tinyblob 2 8 -1 Khai báo cho Field chứa kiểu đối tượng nhị phân cỡ 255 characters Tinytext 2 8 -1 Khai báo cho Field chứa kiểu chuỗi cỡ 255 characters
Blob 2 16 -1 Khai báo cho Field chứa kiểu blob cỡ 65, 535 characters
Text 2 16 -1 Khai báo cho Field chứa kiểu chuỗi dạng văn bản cỡ 65,
Mediumblob 2 24 -1 Khai báo cho Field chứa kiểu blob vừa khoảng 16, 777,
Mediumtext 2 24 -1 Khai báo cho Field chứa kiểu chuỗi dạng văn bản vừa khoảng 16, 777, 215 characters
Longblob 2 32 -1 Khai báo cho Field chứa kiểu blob lớn khoảng 4, 294,
Longtext 2 32 -1 Khai báo cho Field chứa kiểu chuỗi dạng văn bản lớn khoảng 4, 294, 967, 295 characters
3.4 Các thao tác cập nhật dữ liệu
SELECT (Truy vấn mẫu tin) là lệnh dùng để truy vấn dữ liệu từ một hoặc nhiều bảng khác nhau Kết quả trả về là một tập hợp các mẫu tin thỏa mãn các điều kiện đã chỉ định Cú pháp của lệnh SQL SELECT được trình bày như sau:
SELECT
[WHERE]
[GROUP BY]
[HAVING]
[ORDER BY]
Cú pháp: INSERT INTO Tên_bảng VALUES(Bộ_giá_trị)
UPDATE(Cập nhật dữ liệu):
Cú pháp: UPDATE TABLE Tên_bảng SET Tên_cột=Biểu_thức,
Cú pháp: DELETE FROM Tên_bảng
4 Các hàm thông dụng trong MySQL
4.5.1 Các hàm trong phát biểu GROUP BY
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
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
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
Hàm Count: Hàm trả về số lượng mẩu tin trong câu truy vấn
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
4.5.2 Các hàm xử lí chuỗi:
Hàm ASCII: Hàm trả về giá trị mã ASCII của kí tự bên trái của chuỗi
Hàm Char: Hàm này chuyển đổi kkiểu mã ASCII từ số nguyên sang dạng chuỗi
Hàm UPPER: Hàm này chuyển đổi chuỗi sang kiểu chữ hoa
Hàm LOWER: Hàm này chuyển đổi chuỗi sang kiểu chữ thường
Hàm Len: Hàm này trả về chiều dài của chuỗi
Thủ tục LTRIM: Thủ tục loại bỏ khỏang trắng bên trái của chuỗi
Thủ tục RTRIM: Thủ tục loại bỏ khỏang trắng bên phải của chuỗi
Hàm Left(str, n): Hàm trả về chuỗi bên trái tính từ đầu cho đến vị trí n
Hàm Right(str, n): Hàm trả về chuỗi bên phải tính từ đầu cho đến vị trí n
Hàm Instrt: Hàm trả về chuỗi vị trí bắt đầu của chuỗi con trong chuỗi xét
4.5.3 Các hàm xử lí về thời gian
Hàm CurDate(): Hàm trả về ngày, tháng và năm hiện hành của hệ thống
Hàm CurTime(): Hàm trả về giờ, phút và giây hiện hành của hệ thống
Hàm Period_Diff: Hàm trả về số ngày trong khoảng thời gian giữa 2 ngày
Hàm dayofmonth: Hàm trả về ngày thứ mấy trong tháng
4.5.4 Các hàm về toán học
Hàm sqrt: Hàm trả về là căn bậc hai của một biểu thức
Hàm CurDate(): Hàm trả về ngày, tháng và năm hiện hành của hệ thống.
PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Tổng quan thiết kế
Chủ cửa hàng, công ty là người có quyền cao nhất: có thể xem thông tin về tình trạng, hoạt động cũng như mọi thay đổi thên website
Chủ cửa hàng có thể tự quản lý website hoặc thuê nhân viên quản trị Trong trường hợp tự quản, mọi thông tin trên website do chủ cửa hàng kiểm soát Nếu thuê nhân viên, chủ cửa hàng cần cung cấp tài khoản và quyền hạn để nhân viên có thể truy cập vào hệ thống.
Nhân viên là người giả quyết các nhiệm vụ được giao như các nhận đơn hàng, tiếp thu ý kiến phản hồi của người sửa dụng…
Chủ cửa hàng nắm giữ quyền cao nhất, có khả năng truy cập toàn bộ thông tin trên website Trong khi đó, nhân viên và khách hàng chỉ được phép xem những thông tin được cấp quyền.
Một số trang thương mại điện tử cao cấp thường tích hợp nhiều phương thức thanh toán để đáp ứng nhu cầu của khách hàng Tuy nhiên, việc áp dụng tính năng này cho các website có quy mô nhỏ gặp nhiều khó khăn do điều kiện thực tế.
3.1 Mô tả hệ thống Website bán hàng
Bảng 3.1 Phân tích yêu cầu chức năng hệ thống
STT Yêu cầu chức năng Ghi chú
Admin có thể nâng cấp tài khoản user lên quyền nhân viên 1.2: Admin có quyền xem thông tin khách hàng
1.3: Admin có thể sử dụng đầy đủ các chức năng như nhân viên
2.1: Nhân viên có thể đăng nhập vào hệ thống 2.2: Nhân viên có thể thêm 1 loại sản phẩm mới
2.3: Nhân viên có thể thêm 1 SP mới và đưa thông tin sản phẩm lên website
2.4: Nhân viên có thể thay đổi các thông tin Bao gồm các thông hoặc xóa 1 sản phẩm đã có trên website tin cơ bản của SP như hình ảnh, giá, tên, …
2.5: Nhân viên có thể quản lý đơn hàng
Xem đơn hàng, thay đổi trạng thái giao hàng
2.6: Nhân viên có thể ẩn/hiện các comment để tránh spam
2.7: Nhân viên có thể theo dõi được lượt người truy cập vào website
2.8: Nhân viên có thể nhận được báo cáo về doanh thu
2.9: Nhân viên có thể xem được danh sách những sản phẩm bán chạy nhất
3.1: Khách hàng có thể đăng nhập vào hệ thống
3.2: Khách hàng có thể bình luận, phản hồi về
3.3: Khách hàng có thể like, trả lời lại comment của người khác
3.4: Ngoài ra khách hàng có thể sử dụng đầy đủ các chức năng như khách vãng lai
4.1: Khách vãng lai có thể tìm kiếm sản phẩm 4.2: Khách vãng lai có thể xem chi tiết SP
4.3: Khách vãng lai có thể thêm SP vào giỏ hàng
4.4: Khách vãng lai có thể quản lý SP trong giỏ hàng của mình
4.5: Khách vãng lai có thể tiến hành thanh toán và chọn hình thức thanh toán
4.6: Khách vãng lai có thể đăng ký để trở thành khách hàng
3.1.1 Yêu cầu phi chức năng
Thời gian là yếu tố quan trọng trong việc đánh giá hiệu suất của hệ thống, bao gồm các yêu cầu về thời gian phản hồi, thời gian xử lý và thời gian trả kết quả Những yêu cầu này cần được định lượng rõ ràng để đảm bảo khả năng đánh giá trong trạng thái hoạt động bình thường của hệ thống.
Công suất tối đa của hệ thống xác định các giới hạn tối đa cho các tham số trong điều kiện hoạt động bình thường, nhằm đáp ứng nhu cầu của người sử dụng Các tham số này bao gồm số lượng đối tượng hoặc thực thể có khả năng lưu trữ, số lượng người truy cập đồng thời, băng thông, khối lượng giao dịch thực hiện thành công trong một đơn vị thời gian, và kích thước cơ sở dữ liệu.
Giao diện người sử dụng đóng vai trò quan trọng trong việc tăng cường mức độ thân thiện và dễ sử dụng của hệ thống Các thuộc tính như tông màu, thiết kế đồ họa, cùng với cách bố trí cửa sổ, danh mục và biểu tượng, đều ảnh hưởng đến trải nghiệm của người dùng Việc tối ưu hóa các yếu tố này giúp cải thiện tương tác giữa người sử dụng và hệ thống, từ đó nâng cao hiệu quả sử dụng.
Bảo mật: Mức độ một hệ thống đảm bảo việc truy cập dữ liệu là chỉ được phép đối với các đối tượng được phân quyền tương ứng
Xác thực là quá trình kiểm tra tính chính xác của một thực thể khi giao tiếp với hệ thống, dựa vào thông tin đã biết, thông tin hiện có và thông tin xác định tính duy nhất của thực thể đó.
Bảng 3.2 Xác định use case của các tác nhân
1.1: Quản lý tài khoản 1.1.1: Xem danh sách tài khoản 1.1.2: Nâng quyền cho tài khoản 1.1.3: Xem thông tin khách hàng 1.2: Admin có thể sử dụng đầy đủ các chức năng như nhân viên
2.1: Quản lý sản phẩm 2.1.1: Hiển thị danh sách sản phẩm đã có trong kho 2.1.2: Thêm sản phẩm mới
2.1.3: Sửa thông tin sản phẩm 2.1.5: Xóa sản phẩm
2.1.6: Tìm kiếm sản phẩm 2.1.7: Hiển thi danh sách loại SP đã có 2.1.8: Thêm loại sản phẩm mới
2.1.9: Xóa loại sản phẩm 2.2: Quản lý đơn hàng 2.2.1: Hiển thị danh sách đơn hàng 2.2.2: Xem chi tiết đơn hàng 2.2.3: Thay đổi trạng thái giao hàng 2.2.4: Hủy đơn hàng
2.3.1: Xem được lượt người truy cập vào website 2.3.2: Xem được báo cáo về doanh thu theo ngày 2.3.3: Xem được báo cáo về lợi nhuận theo ngày 2.3.4: Xem được biểu đồ kinh doanh theo năm 2.3.5: Xem danh sách những sản phẩm bán chạy nhất
3.1: Đăng nhập, quản lý tài khoản cá nhân 3.1.1: Đăng nhập
3.1.2: Thay đổi thông tin cá nhân 3.1.3: Lấy lại mật khẩu
3.1.4: Đổi mật khẩu 3.2: Bình luận 3.1.1: Bình luận sản phẩm 3.1.2: Trả lời bình luận của người khác
3.3: Ngoài ra khách hàng có thể sử dụng đầy đủ các chức năng như khách vãng lai
4.1: Xem sản phẩm 4.1.1: Tìm kiếm sản phẩm 4.1.2: Xem chi tiết sản phẩm 4.1.3: Hiển thi danh sách sản phẩm 4.2: Đặt hàng
4.2.1: Thêm sản phẩm vào giỏ hàng 4.2.2: Sửa số lượng sản phẩm trong giỏ hàng
4.2.3: Xóa sản phẩm trong giỏ hàng 4.3: Thanh toán
4.3.1: Chọn hình thức thanh toán 4.3.2: Cung cấp thông tin giao hàng và xác nhận thanh toán 4.4: Chấm điểm bằng gắn sao cho sản phẩm
3.2.2.1 Sơ đồ phân rã chức năng đăng kí
Hình 3.2.2.1 Mô tả sơ đồ phân rã chức năng đăng kí
3.2.2.2 Sơ đồ phân rã chức năng đăng nhập
Hình 3.2.2.2 Mô tả sơ đồ phân rã chức năng đăng nhập
3.2.2.3 Sơ đồ phân rã chức năng đổi mật khẩu
Hình 3.2.2.3 Mô tả sơ đồ phân rã chức năng đổi mật khẩu
Bảng 3.3: Kịch bản use case đăng ký
Các actor liên quan Khách hàng, nhân viên Điều kiện tiên quyết Không có
Luồng chính 1 Use case bắt đầu khi người dùng chọn đăng ký
2 Người dùng điền thông tin cá nhân vào form đăng ký
3 Nhấn nút đăng ký Luồng sự kiện phụ Ở bước 2, nếu các thông tin không hợp lệ hoặc tên người dùng đã tồn tại hệ thống sẽ không cho đăng ký
Hệ thống yêu cầu người dùng nhập lại thông tin hoặc hủy
Trạng thái của hệ thống sau khi use case kết thúc
Một tài khoản mới được tạo
Bảng 3.4: Kịch bản use case đăng nhập
Use case cho phép người dùng đăng nhập vào tài khoản đã đăng ký trên hệ thống, liên quan đến các actor như khách hàng, admin và nhân viên Điều kiện tiên quyết là tài khoản phải được đăng ký trước đó.
1 Use case bắt đầu khi người dùng chọn đăng nhập
2 Người dùng điền username, password vào form đăng nhập
3 Nhấn nút đăng nhập Trường hợp ngoại lệ Ở bước 2, hệ thống sẽ không cho đăng nhập nếu các thông tin không hợp lệ hoặc tài khoản không tồn tại, hoặc sai mật khẩu
Hệ thống yêu cầu người dùng nhập lại tài khoản, mật khẩu hoặc hủy bỏ đăng nhập
Sau khi kết thúc use case, hệ thống sẽ ở trạng thái mà người dùng đã đăng nhập thành công và có thể truy cập các chức năng tương ứng với quyền hạn của tài khoản.
Bảng 3.5: Kịch bản use case đăng xuất
Mô tả chung Use case cho phép người dùng đăng xuất tài khoản
Các actor liên quan Khách hàng, admin, nhân viên Điều kiện tiên quyết Đã đăng nhập
Luồng chính Use case bắt đầu khi khách hàng nhấn nút “Đăng xuất”
Nhấn nút “Xác nhận đăng xuất”, hoặc “Hủy” nếu muốn dừng việc đăng xuất
Trạng thái của hệ thống sau khi use case kết thúc
Người dùng đăng xuất thành công
Bảng 3.6: Kịch bản use case xem thông tin cá nhân
Use case Xem thông tin cá nhân
Use case cho phép người dùng xem thông tin tài khoản của mình, liên quan đến các actor như khách hàng và nhân viên Điều kiện tiên quyết là người dùng phải đã đăng nhập.
Luồng chính Chọn mục “Thông tin cá nhân”
Trường hợp ngoại lệ Không có
Trạng thái của hệ thống sau khi usecase kết thúc
Màn hình hiển thị chi tiết thông tin cá nhân
Bảng 3.7: Kịch bản use case sửa thông tin cá nhân
Use case Sửa thông tin cá nhân
Mô tả chung Use case cho phép người dùng sửa thông tin cá nhân của mình
Các actor liên quan Khách hàng, nhân viên, admin Điều kiện tiên quyết Đã đăng nhập
Chọn mục “Thông tin cá nhân”
2 Nhập thông tin muốn sửa
XÂY DỰNG ỨNG DỤNG THỰC TẾ
Phân tích yêu cầu đề tài
4.1.1 Tóm tắt hoạt động của hệ thống mà dự án sẽ được ứng dụng:
- Là một Website chuyên bán các sản phẩm về quần áo thời trang, Là một Website động, các thông tin được cập nhật theo định kỳ
- Người dùng truy cập vào Website có thể xem, tìm kiếm, mua các sản phẩm,hoặc đặt hàng sản phẩm
- Các sản phẩm được sắp xếp hợp lý Vì vậy người dùng sẽ có cái nhìn tổng quan về tất cả các sản phẩm hiện có
- Người dùng có thể xem chi tiết từng sản (có hình ảnh minh hoạ sản phẩm)
Khi người dùng đã tìm thấy sản phẩm ưng ý, họ chỉ cần nhấn vào nút "Thêm vào giỏ hàng" hoặc chọn biểu tượng giỏ hàng để cập nhật sản phẩm vào giỏ hàng của mình.
- Người dùng vẫn có thể quay trở lại trang sản phẩm để xem và chọn tiếp, các sản phẩm đã chọn sẽ được lưu vào trong giỏ hàng
- Khách hàng cũng có thể bỏ đi những sản phẩm không vừa ý đã có trong giỏ hàng
Khi người dùng đã quyết định mua các sản phẩm trong giỏ hàng, họ chỉ cần nhấn vào mục thanh toán để hoàn tất giao dịch, hoặc có thể lựa chọn hủy bỏ việc mua hàng nếu cần.
- Đơn giá của các món hàng sẽ có trong giỏ hàng
- Người dùng sẽ chọn các hình thức vận chuyển, thanh toán hàng do hệ thống đã định
4.1.2 Phạm vi dự án được ứng dụng
- Dành cho mọi đối tượng có nhu cầu mua sắm trên mạng
Cửa hàng kết hợp nghiệp vụ với công nghệ mới, xử lý trên hệ thống máy tính, giúp liên lạc với khách hàng và xử lý hóa đơn nhanh chóng, chính xác Điều này rút ngắn thời gian làm việc và nhanh chóng cung cấp thông tin về các sản phẩm mới đến tay khách hàng.
Có 2 đối tượng sử dụng cơ bản là người dùng và nhà quản trị:
* Người dùng: Qua Website, khách hàng có thể xem thông tin, lựa chọn những sản phẩm ưa thích ở mọi nơi thậm chí ngay trong phòng làm việc của mình
* Nhà quản trị: Nhà quản trị có toàn quyền sử dụng và cập nhật sản phẩm, hoá đơn, quản lý khách hàng, đảm bảo tính an toàn cho Website
4.1.4 Mục đích của dự án
- Đáp ứng nhu cầu mua bán ngày càng phát triển của xã hội, xây dựng nên một môi trường làm việc hiệu quả
- Thúc đẩy phát triển buôn bán trực tuyến
Rút ngắn khoảng cách giữa người mua và người bán thông qua việc tạo ra một website trực tuyến, giúp cung cấp thông tin nhanh chóng và thuận tiện cho việc trao đổi, mua bán các loại điện thoại qua mạng.
- Việc quản lý hàng trở nên dễ dàng
- Sản phẩm được sắp xếp có hệ thống nên người dùng dễ tìm kiếm sản phẩm
Xác định yêu cầu của khách hàng
4.2.1 Hệ thống hiện hành của cửa hàng
Hiện tại, cửa hàng áp dụng cơ chế quảng cáo và hợp đồng trưng bày sản phẩm, cho phép khách hàng đặt hàng trực tiếp qua nhân viên bán hàng hoặc gọi điện đến nhà phân phối Khách hàng có thể nhận hàng và thanh toán bằng tiền mặt ngay tại địa điểm giao hàng Trên hóa đơn, khách hàng cần điền đầy đủ thông tin cá nhân và số lượng mặt hàng cần mua Kế toán sẽ chuẩn bị hóa đơn thanh toán, nhập các dữ liệu như ngày, giờ, tên khách hàng, mã số mặt hàng, số lượng mua, hợp đồng trưng bày sản phẩm, và tổng số hóa đơn vào sổ kinh doanh.
Dựa trên các ràng buộc cụ thể của hệ thống hiện tại, chúng ta có thể đề xuất một hệ thống tiên tiến hơn, giúp tiết kiệm thời gian và nâng cao hiệu quả.
4.2.2 Hệ thống đề nghị Để có thể vừa quảng cáo, bán hàng và giới thiệu sản phẩm của cửa hàng trên mạng thì website cần có các phần như:
Giao diện người dùng cần phải thân thiện và dễ sử dụng, nổi bật thế mạnh của website để tạo niềm tin cho khách hàng ngay từ lần truy cập đầu tiên Website nên giới thiệu rõ ràng các sản phẩm hiện có, kèm theo biểu mẫu đăng ký thành viên và danh mục sản phẩm Chức năng đặt hàng và mua hàng phải được tích hợp, cùng với biểu mẫu liên hệ và tính năng tìm kiếm sản phẩm Mỗi sản phẩm cần có trang chi tiết để khách hàng dễ dàng xem thông tin Cuối cùng, mục đăng nhập cho thành viên cần bao gồm tên đăng nhập (Username) và mật khẩu (password).
- Giao diện người quản trị o Đơn giản, dễ quản lý và không thể thiếu các mục như:
Quản lý mọi thay đổi của website.
Thiết kế giao diện
Hình 25 Giao diện trang chủ
Trang chủ “header.php”: Là trang chính, chứa tất cả các mục để lựa chọn Từ trang chủ khách hàng có thể tìm thấy mọi thông tin cần thiết:
Các sản phẩm được giới thiệu với giao diện thân thiện và dễ sử dụng, giúp khách hàng dễ dàng tìm kiếm và đặt mua những sản phẩm yêu thích, phù hợp với ngân sách của mình.
- Các bài viết hay về thể giới máy tính được quản trị hệ thống chọn lọc
- Bạn có thắc mắc, góp ý với công ty…
4.3.2 Giao diện Form đăng nhập
Trang "login.php" cho phép khách hàng nhập tên người dùng và mật khẩu để đăng nhập vào website Nếu chưa có tài khoản, khách hàng có thể nhấn vào nút Đăng ký để tạo tài khoản mới.
4.3.3 Giao diện Form chăm sóc khách hàng
Hình 27 Giao diện form CSKH
Trang "cskh.php" đóng vai trò quan trọng trong việc kết nối khách hàng với cửa hàng, cho phép khách hàng gửi thắc mắc và ý kiến của mình Để sử dụng dịch vụ này, khách hàng cần điền đầy đủ thông tin cá nhân trong mẫu form được cung cấp.
4.3.4 Giao diện trang giỏ hàng
Hình 28 Giao diện giỏ hàng
Trang "cart.php" cho phép khách hàng xem các sản phẩm đã chọn, bao gồm số lượng và tổng số tiền thanh toán Khách hàng có thể dễ dàng thêm, cập nhật hoặc xóa sản phẩm trong giỏ hàng Ngoài ra, trang cũng lưu trữ lịch sử mua hàng của khách, giúp họ theo dõi các giao dịch trước đó.
4.3.5 Giao diện Form đăng ký
Trang “register.php” cho phép khách hàng điền thông tin cá nhân đầy đủ để đăng ký tài khoản, phục vụ cho việc mua sắm trên website.
4.3.6 Giao diện Mô tả sản phẩm
Trang “detail.php” cung cấp thông tin chi tiết về sản phẩm, bao gồm giá, bảo hành, chất liệu và kích cỡ, giúp khách hàng hiểu rõ hơn về sản phẩm Thông tin này là yếu tố quan trọng để khách hàng đưa ra quyết định mua hàng.
4.3.7 Giao diện trang quản trị Admin
Giao diện trang quản trị Admin là nền tảng quan trọng dành cho quản trị viên cửa hàng, cung cấp đầy đủ các tính năng như quản lý sản phẩm, quản lý thành viên và quản lý đơn đặt hàng, giúp tối ưu hóa quy trình vận hành của cửa hàng.
Hình 32 Giao diện trang quản lý loại sản phẩm
Hình 33 Giao diện trang quản lý dòng sản phẩm
Hình 34 Giao diện trang quản lý kích cỡ
Hình 35 Giao diện trang quản lý kho hàng
Hình 36 Giao diện chăm sóc khách hàng
Kết luận, đề tài "Xây dựng Website bán hàng quần áo thời trang" ra đời từ nhu cầu thực tế hiện nay, nhằm cung cấp nền tảng cơ sở ban đầu cho những ai muốn thiết kế Website cho công ty hoặc cá nhân.
Mặc dù đã nỗ lực tìm hiểu và áp dụng kiến thức học được cùng với việc tham khảo tài liệu chuyên ngành, nhưng do hạn chế về thời gian, khả năng và kinh nghiệm, đề tài vẫn còn một số thiếu sót nhất định.
- Tìm hiểu ngôn ngữ lập trình Web PHP & MySQL
- Áp dụng xây dựng ứng dụng thực nghiệm trang Website kinh doanh bán hàng quần áo thời trang
Hướng nghiên cứu phát triển:
Tìm hiểu sâu về ngôn ngữ PHP và MySQL giúp bạn đáp ứng tốt hơn nhu cầu của người dùng, đồng thời phát triển và tối ưu hóa hệ thống hiệu quả hơn.
- Kết hợp ngôn ngữ PHP với các hệ quản trị cơ sở dữ liệu lớn hơn: SQL Server, Oracle…
- Tìm hiểu thêm một số ngôn ngữ, các phần mềm ứng dụng để nâng cao giao diện đồ họa đẹp mắt, thân thiện hơn…
Xây dựng một trang web quy mô lớn với nhiều ứng dụng và chức năng là một nhiệm vụ quan trọng Tôi xin gửi lời cảm ơn chân thành đến thầy Lê Ngọc Minh, người đã luôn quan tâm và hỗ trợ tôi trong suốt quá trình thực hiện đề tài này Sự giúp đỡ của thầy là nguồn động lực lớn cho tôi.