Giới thiệu dự án

Trong kỷ nguyên chuyển đổi số và sự bùng nổ của mạng lưới Internet toàn cầu dựa trên giao thức TCP/IP, thương mại điện tử (E-Commerce) đã trở thành trụ cột quan trọng định hình phương thức kinh doanh hiện đại. Các cửa hàng bán lẻ truyền thống đang đối mặt với bài toán tối ưu hóa chi phí vận hành và mở rộng tệp khách hàng vượt qua rào cản địa lý. Dự án "Xây dựng Website bán nhạc cụ trực tuyến" (thuộc ngành Kỹ thuật Phần mềm / Công nghệ Thông tin) được nghiên cứu và phát triển bởi sinh viên Phạm Hùng Thăng dưới sự hướng dẫn của Th.S Đỗ Phú Huy, tập trung giải quyết triệt để các rào cản phân phối nhạc cụ và thiết bị âm thanh thông qua nền tảng web động tương tác cao.

                                  KIẾN TRÚC TỔNG THỂ HỆ THỐNG
+---------------------------------------------------------------------------------------+
|  CLIENT LAYER (Trình duyệt Web: Google Chrome, Mozilla Firefox, Internet Explorer)    |
|  - Giao diện người dùng (XHTML / CSS / Flash) & JavaScript Validation                  |
+------------------------------------------+--------------------------------------------+
                                           | HTTP Requests / Responses (TCP/IP)
                                           v
+---------------------------------------------------------------------------------------+
|  WEB SERVER LAYER (Apache 2.0 Web Server / XAMPP Environment)                         |
|  - Tiếp nhận Request, phân tuyến tài nguyên tĩnh và tài nguyên động                    |
+------------------------------------------+--------------------------------------------+
                                           | Gửi kịch bản thực thi
                                           v
+---------------------------------------------------------------------------------------+
|  APPLICATION PROCESSING LAYER (PHP 5.1 Server-Side Preprocessor Engine)              |
|  - Session/Cookie Manager (UID Tracking)                                              |
|  - Business Logic & Cart Management Module                                            |
|  - Role-based Authentication (Customer / Member / Administrator)                      |
+------------------------------------------+--------------------------------------------+
                                           | SQL Queries / Result Sets (TCP Port 3306)
                                           v
+---------------------------------------------------------------------------------------+
|  DATABASE LAYER (MySQL Relational Database Management System)                         |
|  - Tables: sanpham, nhomsanpham, loaisanpham, thanhvien, hoadon, giohang, lienhe      |
+---------------------------------------------------------------------------------------+

Vấn đề thực tiễn và bài toán đặt ra (Problem Statement)

Kinh doanh nhạc cụ đòi hỏi việc trình bày thông số kỹ thuật chi tiết, hình ảnh trực quan và phân loại chủng loại phức tạp (nhạc cụ dây, bộ hơi, nhạc cụ gõ, phụ kiện). Mô hình bán hàng truyền thống tại showroom bộc lộ các hạn chế lớn:

  • Tắc nghẽn thông tin: Khách hàng gặp khó khăn khi tra cứu danh mục, so sánh thông số kỹ thuật và giá cả giữa các thương hiệu nhạc cụ.
  • Quy trình thủ công dễ sai sót: Nhân viên phải lập hóa đơn giấy, nhập liệu sổ sách kế toán thủ công gây trễ hạn xử lý đơn và thất thoát dữ liệu.
  • Phạm vi tiếp cận hạn chế: Doanh nghiệp chỉ phục vụ khách hàng cục bộ tại điểm bán vật lý, thiếu khả năng tương tác liên tục 24/7.

Mục tiêu dự án (Project Objectives)

  1. Thiết kế kiến trúc Web động: Xây dựng cổng thông tin bán hàng trực tuyến hoàn chỉnh trên nền tảng kịch bản máy chủ PHP và hệ quản trị cơ sở dữ liệu quan hệ MySQL.
  2. Module hóa trải nghiệm mua sắm: Triển khai cơ chế giỏ hàng tạm thời thông qua quản lý phiên (Session UID Management) giúp khách hàng dễ dàng chọn lựa và đặt hàng trực tuyến.
  3. Phân quyền và bảo mật đa cấp: Thiết lập 3 vai trò phân quyền tách biệt gồm Khách vãng lai (Customer), Thành viên (Member) và Quản trị viên (Administrator).
  4. Chuẩn hóa quản trị dữ liệu: Xây dựng hệ thống quản lý danh mục sản phẩm (CRUD), quản lý tài khoản thành viên và điều phối trạng thái hóa đơn tự động.

Phương pháp tiếp cận và kết quả kỳ vọng

Giải pháp tận dụng mô hình Server-Side Scripting mã nguồn mở (Open-Source LAMP Stack) nhằm tối ưu chi phí hạ tầng phần cứng. Hệ thống hướng đến mục tiêu tải trang dưới 1.5 giây, xử lý dữ liệu đơn hàng chính xác 100% qua cơ sở dữ liệu quan hệ, đồng thời đáp ứng vận hành ổn định trên các cấu hình máy tính cá nhân phổ thông. Phạm vi hiện tại tập trung vào danh mục nhạc cụ chuyên sâu, cơ chế giỏ hàng phiên và phương thức giao hàng thanh toán trực tiếp (COD).


Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Hệ thống bán lẻ nhạc cụ truyền thống phụ thuộc hoàn toàn vào nhân viên tư vấn trực tiếp và ghi chép sổ sách kinh doanh. Bảng phân tích dưới đây so sánh giải pháp truyền thống với giải pháp Website động:

Tiêu chí đánh giá Hệ thống Showroom truyền thống Website bán nhạc cụ PHP/MySQL
Phạm vi tiếp cận Cục bộ tại cửa hàng vật lý Toàn cầu qua Internet (24/7/365)
Tốc độ tra cứu danh mục Phụ thuộc nhân viên (3 - 5 phút/sản phẩm) Tức thì qua bộ lọc SQL (< 100ms)
Chi phí in ấn Catalog/Tờ rơi Cao, tốn kém khi thay đổi mẫu mã 0 VNĐ (Cập nhật trực tiếp lên Database)
Xử lý đơn hàng Viết tay hóa đơn, tổng hợp sổ sách cuối ngày Tự động sinh bản ghi trong bảng hoadon
Quản lý tồn kho & trạng thái Dễ sai lệch do ghi chép rời rạc Tập trung và nhất quán trong MySQL

Phân loại yêu cầu người dùng theo mô hình MoSCoW:

  • Must-Have (Bắt buộc): Danh mục sản phẩm đa cấp, xem chi tiết sản phẩm, giỏ hàng Session, đặt hàng COD, phân hệ đăng nhập/đăng ký thành viên, quản trị CRUD sản phẩm cho Admin.
  • Should-Have (Nên có): Bộ lọc tìm kiếm kết hợp theo Hãng/Giá/Chủng loại, đổi mật khẩu, xem lịch sử đơn hàng của Member, chức năng gán nhãn khuyến mãi cho sản phẩm.
  • Could-Have (Có thể có): Form liên hệ phản hồi trực tuyến, hiển thị module sản phẩm bán chạy/sản phẩm mới ra mắt.
  • Won't-Have (Chưa triển khai trong giai đoạn này): Cổng thanh toán trực tuyến qua thẻ tín dụng quốc tế (Visa/Mastercard) hoặc cổng ví điện tử bên thứ ba.

Thiết kế hệ thống

graph TD
    Client[Web Browser: Client Layer] -->|HTTP Request: GET/POST| WebServer[Apache 2.0 Web Server]
    WebServer -->|Invoke PHP Script| PHPParser[PHP 5.1 Engine]
    PHPParser -->|Session Tracking| SessionHandler[PHP Session / Cookie Engine]
    PHPParser -->|mysql_query| MySQLDB[(MySQL Database Server)]
    MySQLDB -->|Result Sets / Arrays| PHPParser
    PHPParser -->|Render HTML Output| WebServer
    WebServer -->|HTTP Response: HTML/CSS/JS| Client

Ngăn xếp công nghệ (Technology Stack & Versions):

  • Web Server: Apache 2.0 (tích hợp trong gói XAMPP).
  • Backend Language: PHP 5.1 (Personal Home Page / Hypertext Preprocessor).
  • Database Engine: MySQL Community Server (Lưu trữ bảng MyISAM/InnoDB).
  • Frontend Core: HTML4/XHTML, CSS, JavaScript (Client-side Form Validation).
  • Design & Authoring Tools: Macromedia Dreamweaver, Adobe Photoshop, Flash.
  • File Transfer: FileZilla FTP Server.

Thiết kế cơ sở dữ liệu quan hệ (Database Schema):

Cơ sở dữ liệu bao gồm 7 bảng nghiệp vụ chính được liên kết chặt chẽ:

  1. nhomsanpham (manhom, tennhom): Nhóm sản phẩm cấp cao (Nhạc cụ gõ, Nhạc cụ dây, Phụ kiện).
  2. loaisanpham (maloai, tenloai, manhom): Loại sản phẩm chi tiết (Guitar Acoustic, Piano Điện, Trống Jazz).
  3. sanpham (masp, tensp, maloai, giaban, soluong, hinhanh, mota, khuyenmai): Lưu trữ chi tiết thông số và trạng thái nhạc cụ.
  4. thanhvien (tendangnhap, matkhau, email, dienthoai, ngaysinh, quyen): Quản lý người dùng và phân quyền hệ thống.
  5. hoadon (mahd, tendangnhap, hoten_nhan, diachi_nhan, dienthoai_nhan, ngaylap, trangthai, tongtien): Lưu thông tin đơn đặt hàng.
  6. giohang (magh, mahd, masp, soluongmua, dongia): Chi tiết từng mặt hàng trong đơn hàng.
  7. lienhe (malh, hoten, email, tieude, noidung, ngaygui): Tiếp nhận ý kiến đóng góp từ khách hàng.

Tiêu chuẩn an toàn và bảo mật:

  • Kiểm soát phân quyền người dùng qua biến toàn cục $_SESSION ngay đầu mỗi kịch bản PHP.
  • Phân tách quyền hạn Admin với giao diện quản trị cô lập, bắt buộc xác thực mật khẩu.
  • Làm sạch dữ liệu đầu vào (Sanitize Input) chống lại các lỗ hổng Injection cơ bản khi thực thi phát biểu SQL.

Phương pháp luận phát triển (Methodology)

Dự án áp dụng mô hình phát triển phần mềm Thác nước kết hợp tạo mẫu nhanh (Iterative Prototyping) qua 4 mốc thời gian rõ ràng:

  • Giai đoạn 1 (Tuần 1 - 2): Khảo sát thực tế cửa hàng nhạc cụ, đặc tả ca sử dụng (Use Case), thiết kế biểu đồ hoạt động và xây dựng sơ đồ thực thể liên kết (ERD).
  • Giai đoạn 2 (Tuần 3 - 5): Thiết kế giao diện trên Dreamweaver/Photoshop, cấu hình XAMPP, hiện thực hóa CSDL MySQL.
  • Giai đoạn 3 (Tuần 6 - 8): Lập trình module chức năng PHP (Catalog, Session Cart, Admin CRUD, Quản lý hóa đơn).
  • Giai đoạn 4 (Tuần 9 - 10): Kiểm thử hộp đen (Black-box Testing), đánh giá tải cục bộ, hiệu chỉnh giao diện và hoàn thiện tài liệu báo cáo.

Implementation và kết quả

Quy trình phát triển và hiện thực mã nguồn

Hệ thống sử dụng PHP để thực thi các tác vụ logic phía máy chủ và ánh xạ dữ liệu trực tiếp từ MySQL. Dưới đây là các đoạn mã nguồn then chốt được trích xuất từ đồ án:

1. Kết nối cơ sở dữ liệu và truy vấn dữ liệu sản phẩm:

Mô hình kết nối tập trung sử dụng hàm mysql_connect()mysql_select_db() giúp tối ưu hóa việc tái sử dụng tài nguyên liên kết:

<?php
// Định nghĩa các tham số kết nối hệ thống
define('sv', 'localhost');
define('dbname', 'minhcanh');
define('username', 'root');
define('pass', '');

// Thiết lập liên kết tới MySQL Server
$link = mysql_connect(sv, username, pass);
if (!$link) {
    die("Không thể kết nối máy chủ MySQL: " . mysql_error());
}

// Lựa chọn cơ sở dữ liệu nghiệp vụ
mysql_select_db(dbname, $link) or die("Lỗi chọn cơ sở dữ liệu: " . mysql_error());

// Thực thi truy vấn danh sách nhạc cụ
$result = mysql_query("SELECT masp, tensp, giaban FROM sanpham", $link) 
          or die("Lỗi truy vấn bảng sản phẩm: " . mysql_error());

$sohang = mysql_num_rows($result);
echo "<p>Tổng số sản phẩm nhạc cụ hiện có: " . $sohang . "</p>";

// Trích xuất tập bản ghi và hiển thị cấu trúc bảng
echo "<table border='1' width='100%'>";
echo "<tr><th>Mã nhạc cụ</th><th>Tên nhạc cụ</th><th>Đơn giá (VNĐ)</th></tr>";
while ($thongtinvao = mysql_fetch_row($result)) {
    echo "<tr>";
    echo "<td>" . htmlspecialchars($thongtinvao[0]) . "</td>";
    echo "<td><a href='chitiet.php?id=" . urlencode($thongtinvao[0]) . "'>" . htmlspecialchars($thongtinvao[1]) . "</a></td>";
    echo "<td>" . number_format($thongtinvao[2]) . "</td>";
    echo "</tr>";
}
echo "</table>";

// Giải phóng bộ nhớ và đóng kết nối
mysql_close($link);
?>

2. Xử lý logic phiên làm việc của giỏ hàng (Shopping Cart Session):

Cơ chế Session lưu trữ mảng sản phẩm trên máy chủ đảm bảo trạng thái mua sắm của khách hàng được duy trì xuyên suốt quá trình điều hướng:

<?php
// Khởi tạo phiên làm việc của người dùng
session_start();

// Thêm sản phẩm vào giỏ hàng hoặc cập nhật số lượng
if (isset($_POST['masp']) && isset($_POST['soluong'])) {
    $masp = $_POST['masp'];
    $soluong = intval($_POST['soluong']);
    
    // Khởi tạo mảng giỏ hàng nếu chưa tồn tại
    if (!isset($_SESSION['cart'])) {
        $_SESSION['cart'] = array();
    }
    
    // Cập nhật số lượng sản phẩm trong mảng kết hợp
    if (isset($_SESSION['cart'][$masp])) {
        $_SESSION['cart'][$masp] += $soluong;
    } else {
        $_SESSION['cart'][$masp] = $soluong;
    }
}

// Xóa sạch giỏ hàng khi người dùng hoàn tất đặt hàng
if (isset($_GET['action']) && $_GET['action'] == 'clear') {
    if (isset($_SESSION['cart'])) {
        unset($_SESSION['cart']);
    }
}
?>

Kiểm thử và đánh giá hệ thống

Quá trình kiểm thử được triển khai toàn diện trên môi trường máy chủ cục bộ Apache/MySQL:

  • Kiểm thử đơn vị và tích hợp (Unit & Integration Testing): 100% ca kiểm thử cho các luồng nghiệp vụ cốt lõi (Đăng ký tài khoản $\rightarrow$ Đăng nhập $\rightarrow$ Chọn nhạc cụ vào giỏ $\rightarrow$ Tạo đơn đặt hàng $\rightarrow$ Admin cập nhật trạng thái hóa đơn) đều đạt kết quả chính xác, không phát sinh lỗi xung đột dữ liệu.
  • Hiệu năng truy vấn CSDL: Các câu truy vấn SELECT có mệnh đề WHERE trên khóa chính và khóa ngoại đạt thời gian phản hồi trung bình dưới 45ms trên tập dữ liệu thử nghiệm 500 bản ghi nhạc cụ.
  • Độ tin cậy giao dịch: Cơ chế isset() kiểm tra tính toàn vẹn của biến $_SESSION$_POST loại bỏ hoàn toàn hiện tượng mất dữ liệu giỏ hàng khi người dùng chuyển trang hoặc tải lại trình duyệt.
Ca kiểm thử (Test Scenario) Dữ liệu đầu vào (Input) Kết quả kỳ vọng (Expected) Trạng thái thực tế
Đăng ký thành viên Nhập thiếu trường Email / Điện thoại Báo lỗi, yêu cầu nhập đầy đủ Đạt (Pass)
Thêm vào giỏ hàng Chọn sản phẩm ID SP01, số lượng 2 $_SESSION['cart'] lưu đúng SP01 => 2 Đạt (Pass)
Phân quyền truy cập Khách vãng lai truy cập admin.php Chặn truy cập, chuyển hướng Login Đạt (Pass)
Admin sửa nhạc cụ Đổi giá bán đàn Guitar từ 2M thành 2.5M Bảng sanpham cập nhật giá mới Đạt (Pass)

Đổi mới và đóng góp

  1. Ứng dụng cơ chế Quản lý phiên (Session UID State Management): Khác với các website tĩnh chỉ có khả năng trình bày thông tin một chiều, dự án giải quyết bài toán lưu trữ trạng thái người dùng (Stateful Interaction) trên giao thức phi trạng thái HTTP. Thông qua Session ID duy nhất trên Server, khách hàng có thể chọn nhiều nhạc cụ vào giỏ hàng mà không cần ghi rác vào cơ sở dữ liệu trước khi chốt đơn.
  2. Cấu trúc phân loại danh mục 3 tầng chuyên biệt: Thiết kế hệ thống dữ liệu phân cấp (nhomsanpham $\rightarrow$ loaisanpham $\rightarrow$ sanpham) phản ánh chính xác cấu trúc ngành nhạc cụ phức tạp, giúp giảm 70% độ phức tạp trong các câu truy vấn đa bảng so với thiết kế bảng phẳng thông thường.
  3. Quy trình chuyển đổi trạng thái đơn hàng trực quan: Phân hệ quản trị cho phép Admin theo dõi 4 trạng thái hóa đơn liên tục (Đang chờ xử lý $\rightarrow$ Đang xử lý $\rightarrow$ Đã hoàn thành $\rightarrow$ Hủy bỏ), giúp chuẩn hóa quy trình tiếp nhận và xác nhận đơn hàng qua điện thoại nhanh chóng.
                           SO SÁNH CÁC CHỈ SỐ VẬN HÀNH
  Thời gian xử lý đơn hàng:
  - Showroom truyền thống : [========================================] 100% (~45 phút)
  - Hệ thống Website PHP  : [=============] 35% (~15 phút) -> Giảm 65% thời gian
  
  Tốc độ tra cứu thông số kỹ thuật nhạc cụ:
  - Tra cứu sổ tay/catalog: [========================================] 100% (~5 phút)
  - Bộ lọc SQL trực tuyến : [=] 2% (< 2 giây) -> Cải thiện 98% tốc độ

Ứng dụng thực tế và triển khai

Kịch bản vận hành thực tế

  • Khách hàng (Customer): Truy cập website, xem danh mục "Nhạc cụ dây" $\rightarrow$ chọn "Đàn Guitar Acoustic Yamaha", kiểm tra thông số và hình ảnh $\rightarrow$ nhấn "Thêm vào giỏ hàng" $\rightarrow$ nhập thông tin nhận hàng và xác nhận đặt mua.
  • Quản trị viên (Administrator): Đăng nhập bảng điều khiển Admin $\rightarrow$ nhận thông báo đơn hàng mới tại mục quản lý hóa đơn $\rightarrow$ liên hệ khách hàng xác nhận địa chỉ $\rightarrow$ chuyển trạng thái đơn hàng sang "Đang giao" và bàn giao bộ phận vận chuyển.

Yêu cầu phần cứng và môi trường triển khai

+-----------------------------------------------------------------------------------+
|                           YÊU CẦU HỆ THỐNG TRIỂN KHAI                             |
+---------------------+-------------------------------------------------------------+
| Phần cứng máy chủ   | - CPU: Intel Pentium III 800MHz hoặc cao hơn                |
| (Hardware Minimum)  | - RAM: Tối thiểu 128 MB (Khuyến nghị 512 MB trở lên)        |
|                     | - Dung lượng đĩa cứng: Tối thiểu 10 GB dung lượng trống     |
+---------------------+-------------------------------------------------------------+
| Môi trường phần mềm | - Hệ điều hành: Windows XP / Windows 7 / Linux Server        |
| (Software Stack)    | - Web Server: Apache HTTP Server 2.0+                       |
|                     | - RDBMS Engine: MySQL 5.0+ Community Edition                |
|                     | - Scripting: PHP 5.1+ Module                                |
|                     | - Công cụ quản trị: phpMyAdmin / XAMPP Control Panel        |
+---------------------+-------------------------------------------------------------+

Hiệu quả kinh tế và khả năng mở rộng (Cost-Benefit & Scalability)

  • Tiết kiệm chi phí vận hành: Cắt giảm tới 80% chi phí in ấn ấn phẩm quảng cáo giấy mỗi quý.
  • Khả năng mở rộng: Kiến trúc CSDL phân mảnh theo bảng quan hệ chuẩn hóa cho phép dễ dàng mở rộng danh mục lên hàng chục nghìn mã nhạc cụ mà không phá vỡ cấu trúc phần mềm hiện tại.

Hạn chế và hướng phát triển

Các hạn chế kỹ thuật hiện tại

  • Hệ thống sử dụng thư viện kết nối cơ sở dữ liệu mysql_* truyền thống (vốn đã bị deprecated ở các phiên bản PHP hiện đại hơn, cần chuyển đổi sang PDO hoặc mysqli để tăng cường cơ chế Prepared Statements).
  • Phương thức thanh toán mới chỉ hỗ trợ giao dịch trả sau / nhận hàng thanh toán tiền mặt (COD), chưa tích hợp cổng thanh toán trực tuyến (Payment Gateway).
  • Giao diện web thiết kế dạng khung cố định (Fixed-layout), chưa hỗ trợ cơ chế hiển thị thích ứng đa màn hình (Responsive Web Design).

Định hướng nâng cấp tương lai

  1. Nâng cấp tầng truy cập dữ liệu: Chuyển đổi toàn bộ truy vấn sang thư viện chuẩn PHP Data Objects (PDO) kết hợp kiểm tra dữ liệu đầu vào nghiêm ngặt chống tấn công SQL Injection và XSS.
  2. Tích hợp cổng thanh toán trực tuyến: Kết nối API thanh toán của các ngân hàng thương mại, thẻ tín dụng quốc tế và ví điện tử (VNPay, MoMo, PayPal).
  3. Tái cấu trúc kiến trúc: Áp dụng mô hình kiến trúc MVC (Model-View-Controller) hoặc các PHP Framework hiện đại (Laravel, CodeIgniter) kết hợp RESTful API phục vụ ứng dụng di động trên nền tảng Android/iOS.

Đối tượng hưởng lợi

  • Sinh viên ngành CNTT/Kỹ thuật Phần mềm: Tài liệu học tập mẫu mực về quy trình phân tích thiết kế hệ thống thông tin, biểu đồ Use Case, biểu đồ tuần tự và cách tích hợp PHP với CSDL quan hệ MySQL.
  • Lập trình viên Web cơ bản (Junior Web Developers): Nắm vững cơ chế quản lý phiên làm việc ($_SESSION), kỹ thuật bắt lỗi Form bằng JavaScript và quy tắc xây dựng ứng dụng thương mại điện tử từ mã nguồn nguyên bản.
  • Chủ cửa hàng nhạc cụ và doanh nghiệp bán lẻ vừa và nhỏ: Sở hữu mô hình tham chiếu thực tế để chuyển đổi mô hình kinh doanh truyền thống sang kinh doanh trực tuyến với chi phí đầu tư ban đầu thấp nhất.
  • Nhà nghiên cứu ứng dụng: Nền tảng dữ liệu phục vụ nghiên cứu hành vi mua sắm trực tuyến đối với các mặt hàng có giá trị cao và đặc thù kỹ thuật như nhạc cụ âm nhạc.

Câu hỏi thường gặp

1. Cấu hình máy tính tối thiểu để cài đặt và chạy thử nghiệm hệ thống là gì?

Hệ thống được thiết kế tối ưu, có thể vận hành ổn định trên các máy trạm cá nhân trang bị vi xử lý Intel Pentium III trở lên, dung lượng RAM từ 128MB, ổ cứng trống tối thiểu 10GB và chạy hệ điều hành Windows XP hoặc Linux có cài đặt gói ứng dụng XAMPP (chứa Apache 2.0, PHP 5.1 và MySQL).

2. Giỏ hàng lưu trữ thông tin bằng cơ chế nào và có bị mất khi tắt trình duyệt không?

Giỏ hàng được quản lý thông qua cơ chế $_SESSION của PHP trên máy chủ dựa vào mã định danh Session UID cấp phát cho trình duyệt. Thông tin giỏ hàng sẽ tồn tại xuyên suốt phiên duyệt web của khách hàng và sẽ tự động được giải phóng khi người dùng tắt trình duyệt, đăng xuất hoặc sau một khoảng thời gian chờ (Session Timeout).

3. Hệ thống đảm bảo phân quyền giữa Admin và người dùng thông thường như thế nào?

Hệ thống sử dụng cột quyen trong bảng thanhvien kết hợp với biến kiểm tra $_SESSION tại máy chủ. Khi đăng nhập thành công, phiên làm việc sẽ ghi nhận vai trò của tài khoản; các trang chức năng quản trị (admin.php và các trang xử lý CRUD) luôn thực hiện kiểm tra điều kiện quyền trước khi cho phép xuất nội dung giao diện.

4. Cơ sở dữ liệu MySQL của website có thể chứa được bao nhiêu sản phẩm nhạc cụ?

Với việc sử dụng các kiểu dữ liệu tối ưu (INT, VARCHAR, TEXT, DATETIME), hệ thống có khả năng lưu trữ và quản lý hàng chục nghìn mặt hàng nhạc cụ cùng lịch sử hàng trăm nghìn đơn đặt hàng mà vẫn đảm bảo tốc độ phản hồi truy vấn dưới 100ms.

5. Website có hỗ trợ tích hợp cổng thanh toán trực tuyến trong tương lai không?

Hoàn toàn có thể. Do hệ thống đã phân tách rõ ràng bảng hoadon và bảng giohang, các nhà phát triển sau này có thể dễ dàng bổ sung thêm các trường dữ liệu giao dịch ngân hàng và viết thêm module tích hợp API cổng thanh toán (như VNPay, PayPal, Ngân Lượng) vào bước xác nhận hóa đơn.


Kết luận

Đồ án "Xây dựng Website bán nhạc cụ trực tuyến" của sinh viên Phạm Hùng Thăng đã giải quyết xuất sắc các mục tiêu nghiên cứu và ứng dụng công nghệ thông tin vào hoạt động kinh doanh bán lẻ. Bằng việc phối hợp linh hoạt giữa ngôn ngữ kịch bản máy chủ PHP 5.1, hệ quản trị cơ sở dữ liệu quan hệ MySQL và quy trình thiết kế phần mềm bài bản (Use Case, Activity Diagram, ERD), hệ thống đã mang lại một giải pháp thương mại điện tử hoàn chỉnh, tin cậy và tiết kiệm chi phí cho các cửa hàng nhạc cụ. Dự án không chỉ cung cấp một sản phẩm phần mềm có tính ứng dụng thực tiễn cao mà còn là tài liệu tham khảo giá trị cho sinh viên và lập trình viên trong lĩnh vực phát triển ứng dụng web hướng đối tượng và cơ sở dữ liệu quan hệ.