Lập trình viên quốc tế ACCP
Lập trình viên Java
Kiểm thử phần mền itester
Lập trình viên PHP

Những lỗi thường gặp trong code PHP

Code php thường gặp một số lỗi cơ bản sau:

php logo8 Những lỗi thường gặp trong code PHP

Warning: session_start() [function.session-start]: Cannot send session cache limiter – headers already sent (output started at D:serverbasiclib_tmptest.php:2) in D:serverbasiclib_tmptest.php on line 3
hoặc
Warning: Cannot modify header information – headers already sent by (output started at D:serverbasiclib_tmptest.php:2) in D:serverbasiclib_tmptest.php on line 3

- Lý do: hàm session_start() và header() chỉ được thực hiện khi trước đó không có 1 byte dữ liệu nào được sent đế trình duyệt.
Câu báo lỗi trên cho biết có 1 byte dữ liệu nào đó ở dòng 2 của file D:serverbasiclib_tmptest.php (output started at D:serverbasiclib_tmptest.php:2)
Cách khắc phục:
- thủ công: dò đến dòng co byte được sent (output started at D:serverbasiclib_tmptest.php:2) và bỏ hết các phần dữ liệu được sent
- dùng ob_clean() trước session_start() hoặc header() để xóa hết các ký tự đã sent
chú ý: file php như sau sẽ bị lỗi khi dùng session_start() hoặc header()

<?php
session_start();
?>

lý do: có 1 ký tự n (enter) nằm ngoài cặp <?php .. ?>
cách sửa:

<?php
session_start();
?>

Warning: preg_replace() [function.preg-replace]: Unknown modifier ’5′ in D:localhostAppServwwwgamelist.php on line 16

- Lỗi khi sử dụng preg_replace
- Bạn đã viết thiếu mất phần replacement.

Lỗi trang trắng, không hiện gì cả. Chỉ một màu trắng

- Bạn kiểm tra trong host xem có file log không vì lỗi sẽ được báo ở đó.
VD: error_log

Lỗi BOM , lỗi này rất hay gặp , nếu bạn nào mới học PHP chắc sẽ phải nhức đầu , vì nó làm tất cả các session ko hoạt động vì dòng trên cùng của code bị chèn tự động 1 kí tự lạ mà mình ko nhìn thấy
Cách sửa (2 cách):
+(cách 1) vào MSDOS chuyển đến thư mục chứa file bị BOM
gõ : type tenfile.php bạn sẽ nhìn thấy ngay phía trên đầu file có kí tự lạ , để sửa bạn gõ : edit tenfile.php
+(cách 2) Bạn copy toàn bộ code và paste vào Notpad sau đó lưu lại file với tên như cũ (cách này sẽ là lỗi font nếu trong file php của bạn có dùng tiếng việt)

<?php
Lỗi: Warning: preg_replace() [function.preg-replace]: Unknown modifier ';' in D:localhostAppServwwwmusicindex.php on line 20
?>

Cách xử lý: Bạn tìm xem các dấu kết thúc xem chính xác chưa ^^
VD: ở đây là bị lỗi

<?php
$data = preg_replace(#<p style="color:#AAAAAA; text-align: justify"> ...
?>

Bạn thấy dấu #AAAAAA rồi chứ ^^ phải thêm dấu #AAAAAA

Nguồn phpbasic

Bạn đang muốn nâng cao kỹ năng lập trình của mình ?


Bài viết liên quan:

  1. Những lỗi cơ bản thường gặp với PHP mà MySQL
  2. Sự hẩm hiu của những thiết bị mang thương hiệu Microsoft
  3. Những chiến lược hiệu quả phát triển thương mại điện tử
  4. Code xóa record trong lập trình PHP
  5. Code Java cho phép In ấn trong các Text Component
  6. Thanglong-Aptech tặng thưởng các lớp có thành tích xuất sắc trong học tập
  7. Những khái niệm cơ bản trong Java
  8. Những bí ẩn trong cuộc đời CEO Apple