You are getting a "headers already sent" error message. (You should state that next time instead of making us look.) But you are getting no such error on your main site, just on the wp-admin page. The information you need to start looking for the problem is in the error numbers provided by the error output. When that error message occurs, it is often because HTML content is being output before a header is sent, such as the case when you are using straight HTML mixed with PHP code and there is a space or newline character somewhere after the opening tag <?php in a PHP file. That has been my experience. It can be difficult to find. I suggest you use an IDE that is capable of displaying hidden characters such as spaces, newlines/carriage returns, tabs, etc. It will be easier for you to find if one of those characters is the cause of your problem.
before my answer 1st advise you always need a back up when it comes to WP so IF you had a back of header.php reset it up,,or ask hosting help but if it not seems like header.php prob i would contact hosting thats easy
Turn off all the plugins or move them to a different folder and slowly move them back. You probably have one that tests to see if an admin page has been called and has a bug in it. Any plugin that throws that kind of error is pretty crappy - so I hope it's one you've written and haven't finished yet because that means it can be improved.
err I did backup before but what should I do if I dont wish to restore everything as I recently did some post but didnt backup.
it won't be a database issue, so that's not an issue. you can never have too many backups though so take another one before you start. What I'm describing is using your ftp program create a folder in wp-content called pluginbackup and move all your plugins into it. Check your admin - it should be working fine. Now, one by one move a plugin back and recheck the admin login page when it's broken you know you've found your problem. Let us know which it is and we may be able to help with that too