I am working on a php script that collects data entered in html form and stores that data in array. When user press submit button the php script is called to capture that data store in array and save into CSV file and if all this has gone well there is a header(location:'') redirect to confirmation page.
Now in the mix of all that I also waht to send out a confirmation email to the user that registered, what i have done is created a file template.php that has a nice html template, and I am added a mail() function to do so.
But I get an error saying:
19th February 2014 Warning: Cannot modify header information - headers already sent by (output started at /home/content/24/12131124/html/php/template.php:36) in /home/content/24/12131124/html/php/form_to_csv.php on line 196 
template.php:
<?php
function getMailContent(){
$subject = "OPES Academy- Workshop confirmation";
$message = "
<body style='background-color: #eeeeee; margin: 0 auto; font-family: 'lato',sans-serif'>
<table style='background-color:#ffffff' width='600' heigth='auto' cellspacing='0' cellpadding='0' align='center'>
    <tr>
        <td>
            <table width='600' style='background-color: #5e8ab5;' align='center' cellpading='0' cellspacing='0'>
                <tr>
                    <td>
                        <p style='padding-left: 20px;'><img src='http://opesacademy.com/emails/images/logo.png'
                                                            width='100' alt='Opes Academy'></p>
                    </td>
                    <td style='text-align: right; padding-right: 10px; color: #ffffff'>
                        KNOWLEDGE | WEALTH | POWER
                    </td>
                </tr>
            </table>
        </td>
    </tr>
    <tr>
        <td style='padding: 10px;'>
            <h1 class='skinytxt text-center txtblue'>Thank you for reserving your place</h1>
                    <p> </p>
                    <p class='txt-white text-center'>Thanks for your registration, we will be looking forward to see you at the";
                     ?>
                     <?php
                        require('helper.php');
                        echo ConvertDate( $_SESSION['date'] );
                    ?>
                    <?php
 $message.="            
                    <p align='center'>Address: 6 Thomas More Square, London, E1W 1XZ</p>
                    </p>
                    <p class='txt-white text-center'>If you have any more questions we will be glad to help you, just call us on 020 3675 9000 or email us on
                        support@opesacademy.com</p>
        </td>
    </tr>
</table>
<table width='600' style='background-color: #5e8ab5;' align='center' cellpading='0' cellspacing='0'>
    <tr>
        <td>
            <p style='padding-left: 10px; padding-right: 10px; font-size: 10px'>Trading and investing often
                involves a very high degree of risk. Past results are
                not indicative of future returns and financial instruments can go down as well as up
                resulting
                in you receiving less than you invested. Do not assume that any recommendations, insights,
                charts, theories, or philosophies will ensure profitable investment. Spread betting, trading
                binary options and CFD's carry a high risk to your capital, can be very volatile and prices
                may
                move rapidly against you. Only speculate with money you can afford to lose as you may lose
                more
                than your original deposit and be required to make further payments. Spread betting may not
                be
                suitable for all customers, so ensure you fully understand the risks involved and seek
                independent advice if necessary</p>
        </td>
    </tr>
</table>
</body>";
$headers = "Content-type: text/html\r\n";
return compact('subject', 'message', 'headers');
}
?>
form_to_csv.php
$to = $data['email'];
require('template.php');
$mailContent = getMailContent();
//csv
if(@$_POST['land']=='fw'){
    $path='/home/content/24/12131124/html/files/Admin/CSV_Binary/';
    $fName=$path.'free_workshop-'.date( "F_j_Y" ).".csv";
    //mail($to, $subject, $message, $headers,"-f info@opesacademy.com");
  mail($to, $mailContent['subject'], $mailContent['message'], $mailContent['headers'],"-f info@opesacademy.com");
}
    if(@$_POST['land']=='fw')header("Location: http://www.o.com/free/b/confirmation.php?camp=".$data['camp']);
    else header("Location: http://www.o.com/free/f/confirmation.php?camp=".$data['camp']);
So looking at the error I understand there is some sort of problem with the header as both mail() function uses header and at the redirect I am using a header but how to solve why is this a problem..?
 
     
     
    