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