Warning: "Headers already sent"
If you get a "headers already sent" error, there are three likely causes.
Text editors sometimes insert a UTF8 byte order mark at the top of a file. In this case, the error message will usually say that "output started" at line 1 of some file. To fix this, configure your text editor to save the file without a byte order mark.
If this error is not the first error message on the page, then it is most likely a 'avalanche effect' of previous errors and you may ignore it. Instead, focus on fixing the errors before it. When you fix the first error message(s), the "headers already sent" error(s) will most likely disappear.
However, if you get an error "headers already sent" as the first error, especially when trying to log in and it tells you the error is near the end of a file (check which file "output started at" points to), that probably means that there are extra spaces or lines after the closing ?> php tag. Just delete them, and everything should work fine.
The extra whitespace being added probably is caused by a bad unpacking program and / or a windows editor adding it.

I had a problem with the
I had a problem with the "headers already sent" too at my www.Maxi-Pedia.com website. In my case, it was caused by a blank line at the beginning of common.inc. Drupal or more likely PHP seem to have problems with extra spaces here and there.
Check all your *.inc files to make sure you do not have closing ?> in any of them. Closing ?> is not needed in your *.inc files. Check all your *.php files to make sure you do not have blank lines at the beginning or at the end.
If the error message indicates that this is caused by some module, disable your modules one by one to find out which one causes this.
This can also be caused by UTF-8. If you have your website coded in ASCII and are saving your php files as UTF-8, it can cause this message. If your website and DB are UTF-8, you should be ok with saving php files as UTF-8 though.
Btw, this error message is related to output_buffering on/off in your php.ini. If you have output_buffering set to some cache, the server will allow to send headers with delay (or to modify them shortly after they are sent), and this error will not be tripped. But if you set output_buffering to 0 or not at all, then headers can be sent at only one moment, and if you have some bad code, it will trip this error message.
----------------
Everything you ever needed to know: www.Maxi-Pedia.com
Thanks! Your post was a real
Thanks!
Your post was a real help for me. I discovered a blank line at the beginning of an .inc I had created for a module I'm working on. You saved me untold hours. (I was also getting a white screen at various places throughout my Drupal - removing the blank like corrected that, also.)