PDA

View Full Version : Những lỗi thường gặp khi code PHP



tuidangvui
16-04-14, 09:36 AM
Nguồn sưu tầm (lưu trữ + update tiện tham khảo)

[function.move-uploaded-file]: failed to open stream: Permission denied in
chmod file/thư mục thành 0777

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent
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.
Dùng ob_clean() trước session_start() hoặc header() để xóa hết các ký tự đã sent

Warning: preg_replace() [function.preg-replace]: Unknown modifie
Lỗi khi sử dụng preg_replace
Vviết thiếu mất phần replacement

supplied argument is not a valid MySQL-Link resource
Lỗi này là thực hiện câu query khi kết nối db chưa thành công


<? fix thành <?php hoặc trong php.ini fix short_open_tag = On
[QUOTE]nbb, qweb, web connect mssql 2008 thất bại
fix $database = 'PROVIDER=MSDASQL;Driver={SQL Server};Server=SSQL;Database=MuOnline;';
.....

tuidangvui
17-04-14, 06:53 PM
date() [function.date]: It is not safe to rely on the system's timezone settings

thêm
date_default_timezone_set('Asia/Ho_Chi_Minh');
đầu fiile load




Deprecated: Function ereg() is deprecated in
Chỉnh sửa (thay đổi) ereg():

ereg('\.([^\.]*$)', $this->file_src_name, $extension);
trở thành

preg_match('/\.([^\.]*$)/', $this->file_src_name, $extension);
Hãy nhớ rằng (\.([^\.]*$)) được thêm / /, đây là biểu thức chính quy ký tự phân cách. Nếu bạn thấy có quá nhiều dấu / (ví dụ 1 URL), bạn có thể sử dụng dấu # thay thế cho dấu /.

Thí dụ sau mở tập tin và in từng dòng:

Mã lệnh (PHP)

<?
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
or die ('Cannot open somefile.txt');
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
{
print $line;
}
@fclose ("$fp") // error
or die ('Cannot close somefile.txt');
?>
Thí dụ trên sẽ tạo lỗi

Warning: Supplied argument is not a valid File-Handle resource in C:\Inetpub\<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b> on line 4.

Đó là do biến $fp đặt trong dấu nháy kép nên được chuyển thành chuỗi.
Thế mà hàm fopen() nhận một định danh tài nguyên (resource identifier) trong tham số đầu của nó, chứ không nhận một chuỗi.
Để giải quyết vấn đề, bạn chỉ đơn giản bỏ dấu nháy kép đi

Mã lệnh (PHP)

<?
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
or die ('Cannot open somefile.txt');
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
{
print $line;
}
@fclose ($fp)
or die ('Cannot close somefile.txt');
?>