session_start must be called BEFORE sending ANY output to the browser which includes a redirect.
You need to post the code as it is in the page.
If you even have any whitespace output to the browser it will prevent you from adding any additional header information.
For example if you have a blank line at the top of your PHP file, it will send output to the browser.
1
2 <?PHP //PHP begins here ?>
3 <!--HTML begins Here-->
4
.
.
.