Tổng quan về giáo trình

Giáo trình Lập trình Web PHP & MySQL là tài liệu học tập và giảng dạy lưu hành nội bộ do Khoa Công nghệ Thông tin, Trường Trung cấp Nghề Kỹ thuật Công nghệ Hùng Vương (địa chỉ: 161 - 165 Nguyễn Chí Thanh, Phường 12, Quận 5, TP.HCM) biên soạn vào tháng 06 năm 2012 theo quy chuẩn biểu mẫu BM02–QT7.3/2 (hiệu lực từ ngày 15/09/2009). Học phần đóng vai trò là môn học chuyên ngành nòng cốt trong chương trình đào tạo học viên hệ trung cấp nghề Thiết kế web.

Mục tiêu học tập của giáo trình được xác định rõ ràng nhằm:

  • Giúp người học hiểu rõ các kỹ thuật thiết kế giao diện và lập trình website hoàn chỉnh.
  • Cung cấp nền tảng lý thuyết và kỹ thuật phát triển ứng dụng web trên nền mã nguồn mở.
  • Hình thành và rèn luyện tư duy lập trình cấu trúc và tư duy phát triển phần mềm theo quy trình.
  • Trang bị năng lực xây dựng 3 dạng hệ thống web phổ biến: website trình bày thông tin – tin tức, website bán hàng – thương mại điện tử, và website quản trị nội dung (CMS).

Giáo trình được thiết kế với độ dài 13 chương, đi theo phương pháp tiếp cận sư phạm thực nghiệm: từ cài đặt môi trường máy chủ cục bộ, làm quen cú pháp ngôn ngữ lập trình kịch bản máy chủ PHP, xử lý dữ liệu biểu mẫu (Form) và kiểm thực phía máy khách (Client-side validation với JavaScript/RegEx), đến quản trị hệ quản trị cơ sở dữ liệu quan hệ MySQL, kỹ thuật viết Stored Procedure và định hướng cấu trúc theo mô hình MVC. Điểm đặc trưng của tài liệu là tính thực tiễn cao, bám sát các công cụ phát triển phần mềm thông dụng tại thời điểm biên soạn và gắn liền với các hệ quản trị nội dung mã nguồn mở phổ biến trên thế giới như Joomla, Moodle, NukeViet, Magento, OpenCart và WordPress.


Nội dung kiến thức cốt lõi

Các chương/chủ đề chính

Cấu trúc 13 chương của giáo trình phản ánh tiến trình học tập logic và chặt chẽ:

  1. Chương 1: Môi trường phát triển và Công cụ lập trình

    • Giới thiệu lịch sử và bản chất của PHP: Ra đời năm 1994 bởi Rasmus Lerdorf, là ngôn ngữ kịch bản chạy phía máy chủ (Server-side script) hỗ trợ tương tác đa dạng cơ sở dữ liệu (MySQL, PostgreSQL, Oracle, SQL Server, Access).
    • Hướng dẫn chi tiết quy trình cài đặt và cấu hình máy chủ cục bộ (Localhost): WampServer 2.0 (cấu hình đường dẫn mặc định C:\wamp, thiết lập trình duyệt Firefox, SMTP, phpMyAdmin) và XAMPP.
    • Hướng dẫn thiết lập các môi trường phát triển tích hợp (IDE): PHP Designer 7.2.5 và NetBeans IDE 7.0 (yêu cầu cài đặt môi trường Java JDK bổ trợ).
  2. Chương 2: Cú pháp cơ bản, Biến và Kiểu dữ liệu trong PHP

    • Quy tắc phân định mã PHP trong tài liệu HTML: Thẻ Script rút gọn (<?= $bien ?>) và thẻ Scriptlet chuẩn (<?php ... ?>), lưu ý cấu hình asp_tags trong tập tin php.ini.
    • Cú pháp chú thích dòng đơn (//, #) và chú thích nhiều dòng (/* ... */).
    • Xuất dữ liệu ra trình duyệt bằng lệnh echo.
    • Đặc điểm cú pháp chịu ảnh hưởng từ ngôn ngữ C: Kết thúc câu lệnh bằng dấu ;, phân biệt chữ hoa/chữ thường, biến bắt đầu bằng tiền tố $.
    • Hệ thống 6 kiểu dữ liệu cơ bản: Boolean, Integer (xấp xỉ 2 tỷ), Float (~1.8e308), String, Object, Array.
    • Các cơ chế xử lý dữ liệu nâng cao: Kỹ thuật ép kiểu (type)$var, sử dụng hàm settype(), các hàm kiểm tra kiểu (is_int, is_array, is_bool, is_double, is_null, is_string, is_numeric), khái niệm biến động ($$var).
    • Cấu trúc Mảng 1 chiều và Mảng 2 chiều (chỉ số index bắt đầu từ 0); khởi tạo Lớp đối tượng (class, hàm khởi tạo Constructor, phương thức); phạm vi tầm vực của biến (biến cục bộ, biến toàn cục và từ khóa global); khai báo hằng số bất biến với hàm define() và hàm kiểm tra sự tồn tại defined().
  3. Chương 3: Toán tử và Cấu trúc điều khiển

    • Hệ thống toán tử: Toán tử số học (+, -, *, /, %, ++, --), toán tử gán (=, +=, -=, *=, /=, %=), toán tử so sánh (==, !=, <>, >, <, >=, <=), toán tử logic (&&/AND, ||/OR, !).
    • Cấu trúc rẽ nhánh điều kiện: Phát biểu if, if-else, else if và cấu trúc lựa chọn nhiều trường hợp switch-case kèm từ khóa break, default.
    • Các cấu trúc vòng lặp: Vòng lặp while, vòng lặp xác định for(khởi_tạo; điều_kiện; bước_nhảy) và vòng lặp kiểm tra sau do-while.
  4. Chương 4: Biến Form và Truyền nhận Dữ liệu

    • Khái niệm biến Form dựa trên thuộc tính name của các thẻ nhập liệu HTML (input, select, radio, textarea).
    • Phân biệt hai phương thức submit biểu mẫu: Phương thức POST truyền ngầm và phương thức GET gắn trực tiếp tham số lên chuỗi truy vấn QueryString.
  5. Chương 5: Xử lý Form và Kiểm thực Dữ liệu phía Client (JavaScript & Regular Expression)

    • Ràng buộc dữ liệu biểu mẫu phía client bằng JavaScript: Truy xuất đối tượng DOM qua cú pháp document.getElementById(), chặn và điều hướng luồng gửi dữ liệu với sự kiện onsubmit qua việc trả về giá trị return true hoặc return false.
    • Cơ chế biểu thức chính quy (Regular Expression - RegEx): Khởi tạo qua cú pháp tường minh /pattern/thamso hoặc đối tượng new RegExp("pattern", "thamso").
    • Các tham số cờ: g (tìm kiếm toàn cục), i (không phân biệt chữ hoa/thường), m (so khớp đa dòng).
    • Hệ thống ký tự mẫu và tập hợp: Khung ký tự [a-z], [^characters], ký tự biên ^ (đầu chuỗi), $ (cuối chuỗi), \b, \B, ký tự đại diện \d, \D, \w, \W, \s, \S, số lần lặp {n}, {n,m}, {n,}, *, +, ?, và phương thức tìm kiếm chuỗi .search().
  6. Các chương tiếp theo (Từ Chương 6 đến Chương 13)

    • Kỹ thuật xây dựng hàm tự định nghĩa (function), các hàm xử lý lỗi và thống nhất bố cục giao diện.
    • Lập trình hướng đối tượng chuyên sâu trong PHP.
    • Hệ quản trị cơ sở dữ liệu MySQL: Cài đặt MySQL, tạo lập cơ sở dữ liệu người dùng, các kiểu dữ liệu trong bảng, câu lệnh SQL thao tác dữ liệu.
    • Kỹ thuật truy vấn nâng cao: Mệnh đề SELECT, các phép kết nối bảng JOIN, xây dựng kịch bản SQL Script, lập trình thủ tục lưu trữ Stored Procedure và sử dụng Cursor (con trỏ dữ liệu).
    • Tích hợp PHP và MySQL: Kết nối CSDL, truy xuất và liệt kê dữ liệu lên giao diện web.
    • Tổng quan về mô hình kiến trúc MVC (Model - View - Controller).

Kiến thức nền tảng được xây dựng

Giáo trình xây dựng khối kiến thức nền tảng dựa trên:

  • Nguyên lý kiến trúc Server-Side Scripting: Bản chất mã nguồn PHP được thông dịch trực tiếp tại máy chủ web (Web Server) trước khi trả về mã nguồn HTML thuần cho trình duyệt máy khách.
  • Mối liên kết giữa cú pháp PHP và C/Java: Tận dụng các quy tắc lập trình hướng cấu trúc kinh điển (khối lệnh { }, kết thúc bằng ;, cấu trúc rẽ nhánh và lặp) giúp học viên chuyển tiếp mượt mà từ ngôn ngữ C sang PHP.
  • Nguyên lý cơ sở dữ liệu quan hệ: Mô hình bảng, khóa, quan hệ dữ liệu và kỹ thuật tối ưu hóa truy vấn thông qua Stored Procedure và View/Join.
  • Kiến trúc phân tầng phần mềm: Định hướng phân tách tầng dữ liệu, tầng logic nghiệp vụ và tầng giao diện hiển thị thông qua mô hình MVC.

Kỹ năng phát triển

  • Kỹ năng kỹ thuật (Technical Skills): Cấu hình và quản trị môi trường máy chủ Apache/MySQL thông qua WampServer/XAMPP; quản lý cơ sở dữ liệu trực quan bằng phpMyAdmin; viết mã kịch bản PHP chuẩn cú pháp; xây dựng biểu thức RegEx phức tạp.
  • Kỹ năng phân tích (Analytical Skills): Phân tích yêu cầu dữ liệu biểu mẫu; phân biệt ngữ cảnh sử dụng giữa phương thức GETPOST; thiết kế lược đồ cơ sở dữ liệu quan hệ tối ưu.
  • Kỹ năng thực hành chuyên môn (Practical Competencies): Xây dựng hoàn chỉnh các module website tin tức, hệ thống giỏ hàng thương mại điện tử và trang quản trị nội dung (CMS); kiểm soát lỗi và bảo đảm tính hợp lệ của dữ liệu đầu vào.

Phương pháp giảng dạy và học tập

Giáo trình áp dụng mô hình sư phạm hướng dẫn thực hành từng bước (Step-by-step Hands-on Approach). Mỗi chủ đề kiến thức kỹ thuật đều được trình bày kèm theo hình ảnh minh họa giao diện cài đặt trực quan, cấu trúc cú pháp mẫu và các đoạn mã nguồn ngắn gọn (code snippet) minh họa trực tiếp cơ chế hoạt động.

+-------------------------------------------------------------+
| TIẾN TRÌNH SƯ PHẠM CỦA MỖI BÀI HỌC                          |
| 1. Lý thuyết cú pháp / Khái niệm kỹ thuật                   |
| 2. Minh họa mã nguồn mẫu (Code Snippet)                     |
| 3. Bài tập tình huống thực tế (Case Studies & Exercises)     |
| 4. Hệ thống câu hỏi ôn tập củng cố kiến thức cuối chương    |
+-------------------------------------------------------------+

Hệ thống bài tập và câu hỏi ôn tập cuối mỗi chương được thiết kế từ mức độ nhận biết đến áp dụng thực tế:

  • Bài tập Chương 1: Kiểm tra kỹ năng quản trị máy chủ cục bộ (Tạo mới database, viết truy vấn SQL trong phpMyAdmin, thực hiện backup, export và import database; so sánh ưu - nhược điểm giữa WampServer và XAMPP).
  • Bài tập Chương 2:
    • Bài toán 1: Xử lý mảng và cấu trúc lặp để in ra màn hình danh sách thông tin sinh viên của 2 lớp $a$ và $b$ (mỗi lớp 5 sinh viên có mã số riêng).
    • Bài toán 2: Xây dựng ứng dụng máy tính cá nhân 2 chữ số (cộng, trừ, nhân, chia) trên nền Form HTML; sử dụng hàm is_numeric() để kiểm tra dữ liệu số và phát biểu if để kiểm tra chuỗi rỗng.
  • Bài tập Chương 3: Viết thuật toán in danh sách các số nguyên tố trong khoảng từ 1 đến 30; tạo form đăng ký thành viên có combobox chọn năm sinh (1950 - 2000) và ràng buộc toàn vẹn dữ liệu bằng JavaScript.
  • Bài tập Chương 4 & 5: Xây dựng trang nhập liệu thông tin cá nhân Information.php truyền dữ liệu sang PrintInfo.php; xây dựng module đăng nhập xác thực tài khoản quản trị cố định (admin@hungvuongtech.vn / mật khẩu hungvuong) với cơ chế thông báo lỗi chi tiết qua DOM JavaScript.

Về phương pháp tự học, giáo trình yêu cầu người học phải trực tiếp gõ lại các khối mã nguồn mẫu, triển khai kiểm thử lỗi trên môi trường máy chủ cục bộ và giải quyết toàn bộ bài tập thực hành độc lập trước khi đối chiếu kết quả.


Điểm nổi bật và cập nhật

Tài liệu thể hiện rõ các đặc trưng kỹ thuật và phương pháp luận của giai đoạn phát triển web mã nguồn mở:

Yếu tố kỹ thuật Chi tiết thể hiện trong tài liệu
Môi trường & Công cụ Tích hợp hướng dẫn cấu hình chi tiết cho WampServer 2.0, XAMPP, IDE NetBeans 7.0 (trên nền JDK) và PHP Designer 7.2.5.
Kỹ thuật Client-Side Validation Trình bày chuyên sâu về Biểu thức chính quy (Regular Expression) với đầy đủ bảng mã ký tự đại diện (\d, \w, \s, quantifier {n,m}), kết hợp DOM JavaScript để tối ưu hóa lưu lượng máy chủ.
Quản trị Cơ sở dữ liệu Hướng dẫn thao tác giao diện trên phpMyAdmin song song với viết kịch bản SQL, khai thác các kỹ thuật nâng cao như Stored ProcedureCursor.
Liên kết thực tiễn ngành nghề Khái quát hóa ứng dụng của PHP/MySQL qua các hệ quản trị nội dung mã nguồn mở lớn: Joomla, Moodle, NukeViet, Magento, OpenCart, WordPress.
Kiến trúc phát triển Định hướng xây dựng ứng dụng web theo mô hình phân lớp MVC, đáp ứng các tiêu chuẩn quy trình phần mềm cho 3 mô hình web thực tế (Tin tức, E-commerce, CMS).

Đối tượng sử dụng giáo trình

Giáo trình Lập trình Web PHP & MySQL được thiết kế cho các nhóm đối tượng cụ thể:

  • Học viên và Sinh viên: Dành cho học viên đang theo học hệ Trung cấp nghề hoặc Cao đẳng nghề chuyên ngành Thiết kế web, Công nghệ Thông tin tại Trường TCN KTCN Hùng Vương và các cơ sở giáo dục nghề nghiệp tương đương.
  • Kiến thức tiên quyết (Prerequisites): Người học cần nắm vững kiến thức cơ bản về ngôn ngữ lập trình C (do cú pháp PHP có nhiều điểm tương đồng) và cấu trúc xây dựng trang tĩnh HTML/CSS cơ bản.
  • Giảng viên chuyên ngành: Tài liệu đóng vai trò là đề cương chi tiết phục vụ việc phân bổ thời lượng giảng dạy lý thuyết, chuẩn bị bài thực hành phòng máy tính và xây dựng ngân hàng câu hỏi kiểm tra đánh giá định kỳ.
  • Người tự học lập trình: Phù hợp cho lập trình viên mới bắt đầu tiếp cận mảng phát triển web Back-end mã nguồn mở, cần tài liệu hướng dẫn trực quan từng bước cài đặt môi trường và thao tác với cơ sở dữ liệu.

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

1. Giáo trình này phù hợp với ai?

Giáo trình được biên soạn chuyên biệt cho học viên hệ trung cấp nghề ngành Thiết kế web, sinh viên công nghệ thông tin và những người mới bắt đầu học lập trình web Back-end trên nền tảng mã nguồn mở PHP & MySQL.

2. Cần chuẩn bị kiến thức nền tảng nào trước khi học giáo trình này?

Người học cần trang bị kiến thức cơ bản về cấu trúc thẻ HTML, kiến thức lập trình cơ sở (đặc biệt là tư duy lập trình và cú pháp ngôn ngữ C) để dễ dàng tiếp cận cú pháp và các cấu trúc điều khiển trong PHP.

3. Điểm khác biệt của giáo trình so với các tài liệu lập trình web khác là gì?

Tài liệu tập trung hướng dẫn chi tiết quy trình thực nghiệm (có ảnh chụp từng bước cài đặt phần mềm máy chủ và IDE), tích hợp kỹ lưỡng kỹ thuật kiểm tra biểu mẫu phía client bằng Regular Expression trước khi xử lý bằng PHP, đồng thời bao quát kiến thức SQL nâng cao như Stored Procedure và mô hình MVC.

4. Làm sao để tự học và thực hành hiệu quả với giáo trình?

Người học nên thiết lập môi trường máy chủ WampServer hoặc XAMPP theo hướng dẫn ở Chương 1, thực thi từng đoạn mã ví dụ trong môi trường localhost, và hoàn thành các bài tập lập trình cụ thể (như tạo form đăng nhập, xây dựng ứng dụng máy tính cá nhân, kiểm tra số nguyên tố) ở cuối mỗi chương.

5. Có tài liệu bổ trợ nào được đề cập trong giáo trình không?

Giáo trình nằm trong hệ thống tài liệu chuẩn của Khoa CNTT - Trường TCN KTCN Hùng Vương (mã BM02–QT7.3/2), có danh mục Tài liệu tham khảo đi kèm ở cuối sách và liên hệ trực tiếp với các tài liệu hướng dẫn mã nguồn mở của WordPress, Joomla, OpenCart và Magento.


Kết luận

Giáo trình Lập trình Web PHP & MySQL của Trường Trung cấp Nghề Kỹ thuật Công nghệ Hùng Vương là tài liệu giảng dạy mang tính chuẩn mực và hệ thống trong đào tạo nghề thiết kế web. Tài liệu cung cấp lộ trình học tập tuần tự từ việc làm chủ môi trường máy chủ ảo cục bộ, nắm vững cú pháp ngôn ngữ PHP, kỹ thuật kiểm thực dữ liệu với JavaScript và Regular Expression, đến việc quản trị cơ sở dữ liệu MySQL và tiếp cận mô hình phát triển phần mềm MVC. Đây là nguồn tài liệu học thuật có giá trị tham khảo thực tiễn cao cho học viên, sinh viên và giảng viên khối ngành công nghệ thông tin.