Warning: Cannot modify header information - headers already sent by (output started at C:\xampp74\htdocs\web02\examples\login.php:8) in C:\xampp74\htdocs\web02\examples\login.php on line 21
Nguyên nhân là trong lập trình web, chúng ta không thể thay đổi lại Response Header (khi header đã được gởi trả về cho Client).
Theo lưu đồ trong hình, chúng ta có 3 đoạn code:
<!DOCTYPE html>, ngay khi thực hiện dòng code này, sẽ lập tức tạo 1 response trả về cho người dùng (Response Header đã được tạo và trả về người dùng).thực thi đoạn 1 -> 2 -> 3. Do đó chúng ta sẽ bị cảnh báo lỗi như trên.
<?php
// Cấu hình để PHP hiện tất cả Lỗi (ERROR) và Cảnh báo (WARNING)
// Chỉ nên sử dụng khi đang phát triển
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Học lập trình PHP - Nền tảng Kiến thức</title>
</head>
<body>
<?php
$cookie_name = "username";
$cookie_value = "Nền Tảng";
setcookie($cookie_name, $cookie_value, time() + 3600, "/");
?>
</body>
</html>
<?php
ob_start(); //<--- Dòng code yêu cầu Output Buffering
// Cấu hình để PHP hiện tất cả Lỗi (ERROR) và Cảnh báo (WARNING)
// Chỉ nên sử dụng khi đang phát triển
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Học lập trình PHP - Nền tảng Kiến thức</title>
</head>
<body>
<?php
$cookie_name = "username";
$cookie_value = "NenTang.vn";
setcookie($cookie_name, $cookie_value, time() + 3600, "/");
?>
<h1>Đã bổ sung phần viết code, hết lỗi ✌</h1>
</body>
</html>
<?php
ob_end_flush(); //<--- Dòng code yêu cầu in ra tất cả và trả về reponse cho người dùng (Client)
?>
C:\xampp\php\php.inioutput_buffering=4096
Done!
| header() không hoạt động | header() hoạt động |
<?php
echo "Không thể tìm thấy trang, vui lòng thử một URL khác!"; header("HTTP/1.0 404 Not Found"); //<-- KHÔNG HOẠT ĐỘNG (WARNING LOG) |
<?php
header("HTTP/1.0 404 Not Found"); //<-- HOẠT ĐỘNG BÌNH THƯỜNG
echo "Không thể tìm thấy trang, vui lòng thử một URL khác!"; |
<?php
...
echo $pdf_file_data;
header('Content-Type: application/pdf'); // <-- KHÔNG HOẠT ĐỘNG(WARNING LOG) |
<?php
...
header('Content-Type: application/pdf'); // <-- HOẠT ĐỘNG BÌNH THƯỜNG
echo $pdf_file_data; |
Cùng nhau học tập, khám phá các kiến thức nền tảng về Lập trình web, mobile, database nhé.
Nền tảng kiến thức - Hành trang tới tương lai hân hạnh phục vụ Quý khách!
Khám phá, trải nghiệm ngay
Vui lòng đăng nhập để gởi bình luận!
Đăng nhậpChưa có bình luận nào!