Skip to content

PHP cơ bản đến xây dựng ứng dụng web

Chào mừng bạn đến với khóa PHP cơ bản theo mô hình Project-Based Learning (PBL)! Khóa học tập trung 80% thực hành, giúp bạn nắm vững PHP, thao tác CSDL MySQL, và xây dựng mini blog đầy đủ CRUD + đăng nhập cơ bản.

🎯 Giới thiệu khóa học

  • Tổng thời lượng: 12 buổi (mỗi buổi 120 phút), 6 tuần
  • Cấu trúc: 6 cặp buổi (Lý thuyết - Thực hành)
  • Công nghệ: PHP 8+, PDO, MySQL, Apache (XAMPP/MAMP/Laragon), TailwindCSS (cơ bản cho UI), Postman/MySQL Client
  • Đối tượng: Người mới với PHP, đã biết HTML/CSS, khái niệm HTTP cơ bản
  • Phương pháp: 20% lý thuyết, 80% thực hành

Điều kiện tiên quyết

✅ HTML/CSS cơ bản ✅ Hiểu request/response, form HTML, method GET/POST ✅ Biết cài đặt VS Code và mở trang web local

Kết quả học tập

Sau khóa học, bạn sẽ có thể:

  • ✅ Hiểu cú pháp PHP cơ bản: biến, kiểu, điều kiện, vòng lặp, hàm
  • ✅ Xử lý form, validate input, làm việc với file upload, session/cookie
  • ✅ Kết nối MySQL qua PDO, viết truy vấn CRUD an toàn với prepared statement
  • ✅ Xây dựng trang đăng nhập/đăng ký cơ bản với hash mật khẩu và CSRF token
  • ✅ Tổ chức dự án PHP nhiều file, tách layout, routing đơn giản
  • ✅ Hoàn thiện mini Blog/News với CRUD bài viết, danh mục, tìm kiếm, phân trang

📚 Bảng nội dung 12 buổi

BuổiLoạiChủ đề chínhMục tiêuNội dung chínhThực hành & hướng dẫn
1LTMôi trường, PHP 101Cài stack, chạy file PHP, hiểu echo/biến/kiểuXAMPP/MAMP, cấu trúc thư mục, echo, biến, kiểu, hằng, commentLab: Hello PHP + var_dump + bảng cửu chương (kèm hướng dẫn trong bài)
2THToán tử, điều kiện, vòng lặp, hàmViết script xử lý logic đơn giảnToán tử, if/elseif/else, switch, for/while/foreach, hàm, returnLab: BMI, định dạng chuỗi, hàm sumRange/isPrime (có hướng dẫn)
3LTMảng, chuỗi, hàm xử lýLàm việc với mảng/chuỗi để tiền xử lý dữ liệuArray assoc/indexed, array methods, implode/explode, substr, strlen, filter mapLab: Tính điểm, tách tag, slugify (có hướng dẫn)
4THForm GET/POST, validateNhận dữ liệu form, sanitize và báo lỗiForm HTML, $_GET/$_POST, filter_input, required/length, hiển thị lỗi, sticky formLab: Form đăng ký + validate, trả lỗi thân thiện (có hướng dẫn)
5LTSession, Cookie, Upload fileLưu trạng thái user và upload an toànsession_start, $_SESSION, cookie, setcookie, move_uploaded_file, validate MIME/sizeLab: Profile + upload avatar, lưu session (có hướng dẫn)
6THTổ chức mã, include/requireTách file, dùng config chungCấu trúc src/public, include/require, hằng BASE_PATH, config DB, helper functionLab: Refactor hồ sơ vào nhiều file + router tối giản (có hướng dẫn)
7LTMySQL cơ bản, ERD nhỏHiểu bảng, khóa chính, câu lệnh CRUDDDL/DML, create table, insert/select/update/delete, kết nối mysql cliLab: Tạo DB/blog schema, seed mẫu, 3 truy vấn CRUD (có hướng dẫn)
8THPDO + Prepared StatementsKết nối DB, CRUD an toànPDO connect, DSN, try/catch, prepared statement, fetch, transaction ngắnLab: CRUD bảng posts với prepared statements (có hướng dẫn)
9LTPagination, search, error handlingHiển thị danh sách lớn và xử lý lỗiLIMIT/OFFSET, COUNT, LIKE search, pagination params, exception handling, flash messageLab: Phân trang + search danh sách bài viết (có hướng dẫn)
10THAuth cơ bản, CSRFĐăng ký/đăng nhập với hash + tokenpassword_hash/verify, session guard, logout, CSRF token hidden, rate-limit thôLab: Module auth cơ bản + CSRF cho form nhạy cảm (có hướng dẫn)
11LTLayout, routing đơn giảnTách header/footer, điều hướng qua index.php?page=Template partials, sanitize page param, 404 fallback, organize controllersLab: Router whitelist + layout chung (có hướng dẫn)
12THTổng hợp & Demo mini BlogHoàn thiện CRUD + auth + UI cơ bảnGộp module bài viết + auth + upload thumbnail, kiểm thử luồng, checklist bảo mậtLab: Tổng duyệt & demo mini blog (có hướng dẫn)

🛣️ Lộ trình và tài liệu bài học

  • Giai đoạn 1: Cú pháp & xử lý dữ liệu (Buổi 1-3)
  • Giai đoạn 2: Form, session, upload (Buổi 4-6)
  • Giai đoạn 3: Database & PDO (Buổi 7-9)
  • Giai đoạn 4: Auth, routing, hoàn thiện (Buổi 10-12)

Danh sách bài học:

🎓 Đánh giá

Thành phầnTỷ trọngGhi chú
Lab tại lớp40%Đánh giá theo mức hoàn thành hướng dẫn
Dự án cuối khóa60%Mini Blog/News nhóm 2-3 người

Tiêu chí đạt: Hoàn thành ≥80% lab, điểm tổng ≥5.0/10, project đạt các checklist bắt buộc. (Không tổ chức quiz.)

📂 Dự án cuối khóa

Xem yêu cầu chi tiết tại final-project.md.

📖 Tài nguyên


Chúc bạn học tập hiệu quả và xây dựng sản phẩm hoàn chỉnh! 🚀

Released under the MIT License.