2012-06-05 2 views
0

Можно создать дубликат:
Cannot modify header information, headers already sent
Headers already sent by PHPНевозможно изменить Header

Я пытаюсь понять Oui, почему, когда я загружаю этот контроллер я получаю не может изменить информацию заголовка ошибки , Когда он попадает в оператор if, он перенаправляется к контроллеру входа, но на самом деле не перенаправляет. Он просто загружает это сообщение с загруженным контроллером панели.

<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); 

class Dashboard extends CI_Controller { 

public function index() 
{ 
    //Config Defaults Start 
    $msgBoxMsgs = array();//msgType = dl, info, warn, note, msg 
    $cssPageAddons = '';//If you have extra CSS for this view append it here 
    $jsPageAddons = '';//If you have extra JS for this view append it here 
    $metaAddons = '';//Sometimes there is a need for additional Meta Data such in the case of Facebook addon's 
    $siteTitle = '';//alter only if you need something other than the default for this view. 
    //Config Defaults Start 


    //examples of how to use the message box system (css not included). 
    //$msgBoxMsgs[] = array('msgType' => 'dl', 'theMsg' => 'This is a Blank Message Box...'); 

    /**********************************************************Your Coding Logic Here, Start*/ 

    if ($this->session->userdata('xtr') == 'yes') 
    {         
     $bodyContent = $this->config->item('defaultTemplate') .'/cpanel/dashboard';//which view file 
     $bodyType = 'full';//type of template  
    } 
    else 
    { 
     redirect('login'); 
    } 

    /***********************************************************Your Coding Logic Here, End*/ 

    //Double checks if any default variables have been changed, Start. 
    //If msgBoxMsgs array has anything in it, if so displays it in view, else does nothing.  
    if(count($msgBoxMsgs) !== 0) 
    { 
     $msgBoxes = $this->msgboxes->buildMsgBoxesOutput(array('display' => 'show', 'msgs' =>$msgBoxMsgs)); 
    } 
    else 
    { 
     $msgBoxes = array('display' => 'none'); 
    } 

    if($siteTitle == '') 
    { 
     $siteTitle = $this->metatags->SiteTitle(); //reads 
    } 

    //Double checks if any default variables have been changed, End. 

    $this->data['msgBoxes'] = $msgBoxes; 
    $this->data['cssPageAddons'] = $cssPageAddons;//if there is any additional CSS to add from above Variable this will send it to the view. 
    $this->data['jsPageAddons'] = $jsPageAddons;//if there is any addictional JS to add from the above variable this will send it to the view. 
    $this->data['siteTitle'] = $siteTitle;//defaults can be changed via models/metatags.php 
    $this->data['bodyType'] = $bodyType; 
    $this->data['bodyContent'] = $bodyContent; 
    $this->load->view($this->config->item('defaultTemplate') .'/cpanel/index', $this->data); 
} 

} 

/* End of file dashboard.php */ 
/* Location: ./application/controllers/dashboard.php */ 
+0

Проверить outpot Перед переадресацией. Должно быть какое-то, может быть, просто пустое. Для этой ошибки существует несколько дубликатов. – Nanne

+0

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

ответ

0

вы делаете очень глупую ошибку

перенаправление, но не exitting, так как выполнение страницы будет продолжаться даже после редиректа.

путем установки матрицы() или выхода;

первый вариант // это должно быть так, если еще

      redirect('login'); // or try ("location : login.php"); 

второй вариант или попробовать перенаправлять как

      header('Location: http://login.php');  // specify the url you wanna redirect 

          die(); // or you can have exit(); 
+0

По какой-то причине это еще не устранило проблему. –

+0

ОК, но сделал это, потому что ошибка «не может изменить ошибку информации заголовка» – Rinzler

+0

да, я получил это –

Смежные вопросы