我在一个 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()
. 如果我省略了该发送功能,我可以被重定向到页面并获得会话设置的通知。
那么,我能用这个做什么呢?