如何修复错误无法修改标题信息 - 已经发送的标题

时间:2014-10-11 05:22:22

标签: php codeigniter warnings

我在codeigniter中有以下类型的错误,我无法解决任何人知道这个错误的原因是什么。

A PHP Error was encountered

Severity: Warning

Message: Cannot modify header information - headers already sent by (output started at    /home/samples1/public_html/venture-test/application/controllers/admin/admin_notifications.php:158)

Filename: helpers/url_helper.php

Line Number: 540

我使用了两种方法,它们都在下面的控制器中。

 <?php
    public function approve_recent_user() {  
    $user_id = $this->uri->segment(4);
    $notification_id = $this->uri->segment(5);
    $status = 1;
    if($this->admin_notification_db->user_approve_flag($user_id,$status) == true) {
     redirect('admin/admin_notifications/unapproved_users');                
    }
    else {
        redirect('admin/admin_home');
    }
} ?>

执行此函数后,我将重定向另一个方法,如下所述。

<?php 
 public function unapproved_users() {        
    $result = $this->admin_notification_db->get_unapproved_users();
    $data['users'] = $result; 
    $this->load->view('admin/recent_users', $data); 
 } ?>

2 个答案:

答案 0 :(得分:4)

Message: Cannot modify header information - headers already sent by (output started at    /home/samples1/public_html/venture-test/application/controllers/admin/admin_notifications.php:158)

如果在PHP代码中的头重定向之前开始输出任何内容,则会发生错误。 例如,在PHP标记之前或之前检查任何空格,在启动PHP标记之前打印HTML标记,或者在重定向功能之前检查任何输出或调试。

如果您仍然遇到问题,请进一步告诉我。

答案 1 :(得分:-1)

使用此代替重定向。     echo'window.location =“'。base_url()。'your-page-name”;';