I appeared for php test, their I was asked one question for which I could not find the answer.
The question is like this.
echo "MESSI is injured!!";
header("Location:somepage.php");
Interviewer want both header and echo to be written on the same page.
I wonder how's it possible.It should give some error like
headers already sent by (output started at .....
Is it really possible to write echo and header onto same page !!!
You can do it as long as all the header calls come before any non-header output is sent (this includes pesky things like newlines/whitespace). So
should do the trick
You can use Output Buffering as
The problem is that we cannot send the header after we start sending the output. To solve this we buffer the output. The function
ob_start
turns output buffering on. While output buffering is active no output is sent from the script (other than headers), instead the output is stored in an internal buffer. So theecho
output will be buffered. Next we send the header without any problem as we've not yet spit out any output. Finally we callob_end_flush
to flush the internal buffer contents and to stop output buffering.