使用数据库错误时CI中的助手和会话

时间:2013-01-29 11:05:03

标签: php codeigniter

  

遇到PHP错误

     

严重性:警告

     

消息:无法修改标头信息 - 已发送的标头   (输出始于   /srv/disk5/1241421/www/ebazzar.co.nf/application/models/product_model.php:2)

     

文件名:libraries / Session.php

     

行号:672

...

  

遇到PHP错误

     

严重性:警告

     

消息:无法修改标头信息 - 已发送的标头   (输出始于   /srv/disk5/1241421/www/ebazzar.co.nf/application/models/product_model.php:2)

     

文件名:helpers / url_helper.php

     

行号:542

如何解决此错误? 在数据库中添加一些内容时会出现

功能如下:

public function signup() {
    if ($this->authex->logged_in()) {
        redirect('welcome');
    }
    //$data['page'] = $this->uri->segment(2);
    $data['fproducts'] = $this->pm->get_fproducts();
    $data['countries'] = $this->pm->get_countries();
    if ($this->input->post('submit_signup')) {
        if ($this->_form_validate() == FALSE) {
            $this->load->view('header', $data);
            $this->load->view('sidebar');
            $this->load->view('signup');
            $this->load->view('footer');
        } else {
            $signup_id = $this->pm->add_user();
            if ($signup_id) {
                $this->session->set_flashdata('message', array('title' => 'Signup Result', 'content' => 'You have been successfully registered', 'type' => 'message'));

                redirect("welcome/home");
            }
        }
    } else {
        $this->load->view('header', $data);
        $this->load->view('sidebar');
        $this->load->view('signup');
        $this->load->view('footer');
    }
}

1 个答案:

答案 0 :(得分:0)

假设您的redirect函数正在使用PHP header函数,问题是:

header函数应该被称为之前任何输出,否则它将无效。在调用该函数之前,您显然正在输出其他内容。

重新排列代码,以便在文件末尾打印输出,或使用ob_*函数系列来控制输出缓冲区。

请注意,为了解决问题,错误还会告诉您在header调用之前无效输出的位置:

  

输出开始于/srv/disk5/1241421/www/ebazzar.co.nf/application/models/product_model.php:2