Chủ Nhật, 31 tháng 5, 2026

30 lỗi PHP phổ biến nhất cho người mới và cách xử lý

Không có con đường nào trải đầy hoa hồng. Nếu bạn mới học PHP, có lẽ bạn đã từng trải qua cảm giác:

Hôm qua code chạy ngon lành.

Hôm nay mở lên...

Trang trắng.

Hoặc:

Login đúng password nhưng vẫn báo sai.

Hoặc:

MySQL không báo lỗi gì nhưng dữ liệu chẳng chịu chui vào database.

Tin vui là:

Bạn không cô đơn.😀😀

Hầu hết lập trình viên PHP đều từng gặp những lỗi như vậy.

Thậm chí nhiều người làm web 5–10 năm vẫn thỉnh thoảng tự "dính bẫy" những lỗi cực kỳ ngớ ngẩn.

Trong bài viết này, chúng ta sẽ điểm qua 30 lỗi PHP phổ biến nhất mà người mới thường gặp và cách xử lý nhanh nhất.


Nhóm 1: Lỗi cú pháp (Syntax Errors)

1. Parse Error

Lỗi kinh điển của người mới.

Ví dụ:

echo "Hello" echo "World";

Thiếu dấu chấm phẩy.

PHP:

Tôi không hiểu bạn muốn làm gì.

Triệu chứng:

  • Trang trắng
  • Fatal error
  • Parse error

2. Thiếu dấu ngoặc đóng

Ví dụ:

if($age > 18) { echo "Adult";

Quên dấu:

}

3. Thiếu dấu ngoặc kép

Ví dụ:

$name = "Lap Trinh Dat Viet;

PHP sẽ rất khó chịu, kiểu: Mỗi việc đơn giản mà làm cũng không xong.


4. Dùng nhầm dấu ngoặc

Ví dụ:

if($a > $b]

Thay vì:

if($a > $b)

5. Copy code từ Internet làm hỏng ký tự

Ví dụ:

“
”
‘
’

trông giống dấu nháy bình thường nhưng thực tế khác hoàn toàn. Và "mò" ra lỗi này thật sự rất vất vả vì nhìn "có vẻ" như không sai gì cả!


Nhóm 2: Biến và dữ liệu

6. Undefined Variable

Ví dụ:

echo $username;

Nhưng chưa khai báo:

$username

7. Undefined Index

Ví dụ:

$_POST['email']

Nhưng form chưa gửi email.


8. Undefined Array Key

PHP 8 báo lỗi này rất thường xuyên.


9. Viết sai tên biến

Ví dụ:

$userName

$username

là hai biến khác nhau.


10. Nhầm giữa isset() và empty()

Hai ông nhìn giống nhau.

Nhưng tính cách rất khác.


Nhóm 3: Form không hoạt động

11. PHP không nhận dữ liệu POST

Nguyên nhân phổ biến:

method="get"

nhưng code lại dùng:

$_POST

12. PHP không nhận dữ liệu GET

Ngược lại với lỗi trên.


13. Thiếu thuộc tính name

Ví dụ:

<input type="text">

Không có:

name="username"

14. Submit nhưng không có dữ liệu

Do:

disabled

hoặc sai form.


15. Form gửi nhưng trang không phản hồi

Thường do:

action=""

hoặc sai đường dẫn.


Nhóm 4: Login và Session

16. Login đúng password nhưng vẫn fail

Một trong những lỗi phổ biến nhất.

Nguyên nhân:

  • trim()
  • khoảng trắng
  • hash sai
  • session lỗi

17. Session không hoạt động

Quên:

session_start();

18. Session tự biến mất

Host miễn phí đôi khi xử lý session không ổn định.


19. Header Already Sent

Ví dụ:

echo "Hello"; header("Location:index.php");

PHP:

Muộn rồi bạn ơi.


20. Redirect không hoạt động

Do output xuất hiện trước header.


Nhóm 5: Database

21. MySQL không connect được

Lỗi cực phổ biến trên host thật.

Nguyên nhân:

  • sai hostname
  • sai username
  • sai password

22. INSERT không chạy

Tưởng chạy.

Thực ra không chạy.


23. UPDATE không hoạt động

Điều kiện WHERE sai.


24. DELETE không xóa dữ liệu

Sai ID hoặc sai kết nối.


25. Query trả về rỗng

Thường là do:

WHERE

không khớp dữ liệu.


Nhóm 6: Upload host thật

26. Sai đường dẫn (Path)

Lỗi "vô hình".

Đặc biệt hay gặp trên hosting.


27. Include file thất bại

Ví dụ:

include('config.php');

Nhưng file nằm ở thư mục khác.


28. Không gửi được email

Nhiều host miễn phí chặn:

mail()

29. Upload file thất bại

Nguyên nhân:

  • quyền thư mục
  • kích thước file
  • cấu hình PHP

30. Trang trắng chết lặng (White Screen of Death)

Lỗi đáng sợ nhất.

Không báo gì.

Không hiện gì.

Chỉ còn một màu trắng tinh khiết.

Thường do:

  • Fatal Error
  • Memory Limit
  • Parse Error
  • Include lỗi

Làm gì khi gặp lỗi PHP?

Nguyên tắc đầu tiên:

Đừng hoảng.

Nguyên tắc thứ hai:

Đừng sửa 20 thứ cùng lúc.

Nguyên tắc thứ ba:

Đọc kỹ thông báo lỗi.

Nếu không có thông báo lỗi:

Bật hiển thị lỗi:

error_reporting(E_ALL); ini_set('display_errors', 1);

Sau đó kiểm tra từng bước.


Kết luận

Lập trình không phải là cuộc thi xem ai viết code hoàn hảo nhất.

Mà là cuộc thi xem ai bình tĩnh tìm ra lỗi nhanh hơn.

Nếu bạn đang gặp:

  • Parse Error
  • Fatal Error
  • Undefined Variable
  • Session lỗi
  • Login fail
  • MySQL không connect

thì xin thành thật chúc mừng.

Bạn đang đi đúng con đường mà hầu hết lập trình viên PHP đều từng đi qua.

Và tin vui là:

Hầu hết những lỗi này đều có cách sửa rất đơn giản khi bạn biết nguyên nhân thực sự nằm ở đâu.