【问题标题】:helpers and session in CI while using database error使用数据库错误时 CI 中的助手和会话
【发布时间】:2013-01-29 11:05:02
【问题描述】:

遇到了 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');
    }
}

【问题讨论】:

  • 在会话开始之前似乎有一些输出,你可以检查那些额外的输出是什么。可能是错误、通知或您添加的内容。
  • 但它在 localhost 中绝对运行良好,我想我不应该混淆 codeigniter 框架及其会话库
  • 请贴出产生错误的fn
  • ebazzar.co.nf 并且这些错误出现在注册中。但即使出现错误,数据也会插入数据库中
  • 尝试禁用所有错误。我的意思是改变生产模式!

标签: php codeigniter


【解决方案1】:

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

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

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

请注意,为了解决问题,错误还会告诉您在header 调用之前的无效输出是从哪里开始的:

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

【讨论】:

  • 感谢杰弗里。我找到了 。第 2 行 (
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-10-14
  • 1970-01-01
  • 2016-07-12
  • 1970-01-01
  • 2020-11-24
  • 1970-01-01
  • 2015-08-07
相关资源
最近更新 更多