Vấn đề với tiêu đề HTTP khi include trong PHP
Vấn đề với tiêu đề HTTP cũng có thể
xảy ra khi include các tệp thông qua
include. Nó sẽ biểu hiện trong trường hợp
khi sau thẻ đóng ?>
có dấu cách hoặc dòng trống,
như thế này:
<?php
// some code
?>
Trong trường hợp này, khi include tệp của chúng ta vào một tệp khác, những dòng trống được để lại sẽ có tác dụng như việc xuất ra màn hình:
<?php
include 'file.php'; // bên trong có xuất ra màn hình
header('Content-Type: text/html');
?>
Để sửa lỗi, tốt hơn hết là trong tất cả các
tệp PHP nên xóa thẻ đóng cuối cùng
?>. Thủ thuật này không dẫn đến lỗi
PHP và đồng thời bảo vệ chúng ta khỏi việc vô tình
thêm các dòng trống. Hãy sửa
tệp của chúng ta:
<?php
// some code
Sửa các lỗi được mắc phải trong đoạn mã sau:
<?php
function func1() {
echo '1';
}
?>
<?php
function func2() {
echo '2';
}
?>
<?php
include 'file1.php';
include 'file2.php';
header('Content-Type: text/html');
?>
Sửa các lỗi được mắc phải trong đoạn mã sau:
<?php
function func1() {
echo '1';
}
?>
<?php
function func2() {
echo '2';
}
?>
<?php
include 'file.php';
header('Content-Type: text/html');
?>