使用数据库错误时 CI 中的帮助程序和会话


helpers and session in CI while using database error

遇到 PHP 错误

严重性:警告

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

文件名:库/会话.php

行号:672

遇到 PHP 错误

严重性:警告

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

文件名:助手/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');
    }
}

假设你的redirect函数使用的是 PHP header 函数,问题是这样的:

header函数应该在任何输出之前调用,否则它将不起作用。在调用该函数之前,您显然正在输出其他内容。

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

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

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