У меня две функции в одном контроллере codeigniter, который будет устанавливать статус оплаты пользователя и отправлять электронную почту.одна основная функция будет вызывать send_mail.Функция send_mail возвращает true или false.тогда в этой основной функции пользователь будет перенаправлен
, вот код ..
function send_emai($id){
..
..
return $this->email->send();
}
function set_paid(){
//set paid to user data
$paid=$this->admin_model->set_paid($id_user);
..
..
$sent=$this->send_email($id_user);
if($paid && $sent){
$this->session->set_flashdata('status',
array(
'color'=>'green',
'message'=>'status paid<br/>Payment Confirmation Email sent'));
}
else{
$this->session->set_flashdata('status',
array(
'color'=>'green',
'message'=>'Booth status not paid<br/>Payment Confirmation Email not sent'));
}
redirect(admin/myclass/myfunction);
}
Я получил ошибки
Cannot modify header information - headers already sent by (output started at C:\...\core\Exceptions.php:185)
Filename: libraries/Session.php
и вот эту.
Cannot modify header information - headers already sent by (output started at C:\...\core\Exceptions.php:185)
Filename: helpers/url_helper.php
Я предположил, что это потому, что $this->send->email()
.Если бы я пропустил эту функцию отправки, я мог бы быть перенаправлен на страницу и получить уведомление, установленное сессией.
Итак, что я могу сделать с этим?