Codeigniter: заголовки уже отправили ошибку

У меня есть приложение CI, у которого есть контроллер auth и функция переключателя. В основном все это делает идентификатор из URI, получает некоторые пользовательские данные из идентификатора, назначает некоторые данные сеанса, а затем загружает представление.

function switch_user(){ if(!$this->auth_lib->is_admin()){ $this->session->set_flashdata('status', 'You need to be an administrator to access this page.'); redirect('auth/login'); } if($id = $this->uri->segment(3)): $this->load->model('auth_model', 'auth'); $username = $this->auth->get_username($id)->account_name; $this->session->set_userdata(array('at_id' => $id, 'username' => $username)); $this->session->set_flashdata('status','User switched.'); endif; $this->load->model('clients_model', 'clients'); $data['users'] = $this->clients->get_at_clients(); $this->load->view('auth/switch', $data); } 

Я получаю следующую ошибку:

 Message: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\cp\application\controllers\auth.php:130) 

Строка 130 – $ username = $ this-> auth-> get_username ($ id) -> account_name;

Вот модельная функция:

 function get_username($at_id){ $portal = $this->load->database('warehouse', TRUE); $portal->select('account_name'); $portal->where('account_id', $at_id); $portal->from('wh_account'); $query = $portal->get()->result(); return $query[0]; } 

Я не понимаю, что происходит. Когда я запускаю код локально, я не получаю ошибку. Но когда я запускаю его удаленно, то есть через Интернет, я получаю ошибку заголовков.

Может ли кто-нибудь помочь выявить проблему?

Благодаря,

Билли

ОБНОВИТЬ

Я фактически положил var_dump вокруг $ username = $ this-> auth-> get_username ($ id) -> account_name; которая вызывала ошибку. Я не знаю, почему, хотя 🙁

Я бы проверял, что у вас нет закрывающего тега PHP в любой из ваших моделей, контроллеров или библиотек – это часто вызывает такой тип ошибки.

  //Your Code is for redirect redirect('site/function1'); //Alternate Code for solve this issue $url = 'site/function1'; echo' <script> window.location.href = "'.base_url().'index.php?/'.$url.'"; </script> '; 

Почему я получаю «не могу изменить заголовки заголовков заголовков, уже отправленных с помощью registration_model» в codeigniter?