Tutorial :Why I'm getting “cannot modify header information headers already sent by registration_model” error in codeigniter? [duplicate]



Question:

This question already has an answer here:

I have a problem with model in my codeigniter app. I'm getting this error of sending headers information. Basically, codeigniter is complaining about my registration model sending header information before anything else. How is it possible? I thought that models are only for holding db queries methods and nothing more. Can someone please explain me that?

This is how the beginning of a controller looks like:

function User()  {      parent::Controller();      $this->view_data['base_url'] = base_url();      $this->load->model('User_registration_model');       // don't forget capital, it's important      $this->load->model('user_map_model');                // don't forget capital, it's important      $this->load->model('Tribe_model');                   // don't forget capital, it's important      $this->load->library('email');                       // Loading email library      $this->load->library('session');                     // sets up the session      $this->load->library ('form_validation');            // Loading form validation library      $this->load->helper(array('form', 'url'));    }  


Solution:1

Note that headers should be sent before anything else. Make sure that there is no code/html or even space/indentation before the header function and there is nothing before the first opening php tag <?php as well as ending tag ?> in your view.


Solution:2

place this ob_start(); on first line of index.php under your application directory like this :

<?php  ob_start();  /*   *---------------------------------------------------------------   * APPLICATION ENVIRONMENT   *---------------------------------------------------------------  


Solution:3

Actually Some of Host Provider they are use PHP header(); to redirect our Site, So in that kind of servers if we use PHP header() it will give the error. I think so. In Code Igniter redirect(); is using PHP header() to redirect Our URL. So thats why it will give this Error!

So the only solution is use JavaScript to Solve this Issue, I am Using it! Its working well.

//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>  ';  

I don't know is this the right solution for the above issue, But I am using it, Its working 100%. Thanking you!


Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Previous
Next Post »