Home » Php » How to check if Headers already been sent in PHP

How to check if Headers already been sent in PHP

Posted by: admin April 23, 2020 Leave a comment

Questions:

I think most of us know about the infamous “Headers already sent” error in PHP. Can I check someway if headers already have been sent?

It would be really handy to do such, before going all out with trying to set some SESSION data or similar.

Thanks!

How to&Answers:

PHP has a function headers_sent() which allows you to check if the headers are already sent out before you take any action. Here’s how you could use the function in your code:

if(headers_sent())
{ //if headers already sent out print some message.
echo "Please go to yahoo.com";
}
else{
//send the user automatically to test.php
header('Location: http://yahoo.com');
exit;
}

Answer:

Yup, you can use the headers_sent function.

Checks if or where headers have been
sent.

You can’t add any more header lines
using the header() function once the
header block has already been sent.
Using this function you can at least
prevent getting HTTP header related
error messages. Another option is to
use Output Buffering.

headers_list may also be of interest, which returns an array of all headers sent.