When you request a page, for instance, php.net, your web browser sends HTTP headers to
the server that holds php.net on it. When the server receives these HTTP headers, it
knows which page is needed, and sets up it's own headers to send back to the browser,
such as location, file types, etc. It then sends back the requested page with all the
appropriate header information to the browser, which displays the page.
Where your question comes into play is somewhere in the middle. You can set the HTTP
headers only AFTER the request to the server has been made, but has to be BEFORE the
page arrives at the client browser for display. So, when we all say that there can be
NOTHING output to the HTML file before the headers are sent, we mean it literally.
For example: Open up Notepad. Hit return once, then type this in:
<?php header("Location: index.php"); ?>
Upload it and run it. You'll get an error. Why? Because you sent a hard return to
the HTML output BEFORE the header was sent. Hopefully this is not all jumbled an
unhelpful. Heh :o)
Good Luck!
Martin
>>> Chris Hewitt <[EMAIL PROTECTED]> 07/11/02 01:40PM >>>
Alexander Ross wrote:
>I'm slowly beginning to undrestand this, but please bear with a php novice.
>When/how were the headers sent? In other words, how do I know that they
>have already been sent?
>
Because something other than a header has gone out. As something other
has gone out, it is not possible to send more headers. Thus headers that
were to be sent must have already been sent. I interpret this error
message as "Something other than headers has already been sent so you
cannot send headers now.", (but then I have been known to be wrong).
HTH
Chris
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php