У меня проблема с моделью в моем приложении codeigniter. Я получаю эту ошибку отправки информации заголовков. В основном, codeigniter жалуется на мою модель регистрации, отправляющую информацию заголовка раньше всего. Как это возможно? Я думал, что модели предназначены только для хранения методов запросов db и ничего более. Может кто-нибудь, пожалуйста, объясните мне это?
Вот как выглядит начало контроллера:
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')); }
Обратите внимание, что заголовки должны быть отправлены раньше всего. Убедитесь, что перед функцией заголовка нет кода / html или даже пробела / отступов, и нет ничего перед первым открывающим тегом php <?php
а также конечным тегом ?>
В вашем представлении.
поместите это ob_start (); в первой строке index.php в вашем каталоге приложений, например:
<?php ob_start(); /* *--------------------------------------------------------------- * APPLICATION ENVIRONMENT *---------------------------------------------------------------
На самом деле некоторые из провайдеров хоста используют PHP header();
перенаправить наш сайт, поэтому на таких серверах, если мы будем использовать header()
PHP header()
он даст ошибку. Я думаю так. В redirect();
кода Ignit redirect();
использует PHP header()
для перенаправления нашего URL-адреса. Вот почему это даст эту ошибку!
Поэтому единственным решением является использование JavaScript для решения этой проблемы, я использую ее! Хорошо работает.
//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> ';
Я не знаю, это правильное решение для вышеупомянутого вопроса, но я использую его, его работа на 100%. Благодарю вас!