簡體   English   中英

CodeIgniter無法修改標頭信息

[英]CodeIgniter Cannot modify header information

您好,目前我仍在學習CodeIgniter。 我正在嘗試使用其會話並在自動加載文件中啟用該會話

首先,文件的文件結構是這樣的/

我這樣構造我的文件。 所有模板都將進入views / index.php

我的問題是我收到此錯誤Cannot modify header information

我有一個控制器主頁

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

    class Home extends CI_Controller{  

        public function index()
        {     
            $view['title'] = 'Welcome';

            $data['data'] = $view;
            $data['content'] = 'home';
            $this->load->view('index',$data);
        }

    } 

我的看法是這樣的

意見/ index.php文件

<!DOCTYPE html> 
<html lang="en"> 
    <?php     
        //echo ("Welcome User: " . $datas["user_id"]); 
        $this->load->view('header',$data);
        $this->load->view('template/' . $content);
        $this->load->view('footer',$data);
    ?>
</html> 

意見/ header.php文件

 <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="description" content="">
    <meta name="author" content=""> 
    <title><?=$title?></title>  
      <link href="<?=ASSETS_PATH?>css/bootstrap.css" rel="stylesheet"> 
    <link href="<?=ASSETS_PATH?>css/custom.css" rel="stylesheet">  
  </head> 
  <body oncontextmenu="return false">

意見/ footer.php

   <script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
    <script src="<?=ASSETS_PATH?>js/bootstrap.min.js"></script>
    <script src="<?=ASSETS_PATH?>js/javascript.js"></script> 
  </body>

然后我的內容

視圖/模板/ home.php

<div class="jumbotron mod-jumbotron"> 
    <div class="jm-button" style="text-align:center;">
           <h1>Welcome</h1>
    </div>

</div> 

我不知道為什么會收到該錯誤會話。 請希望能幫助我。 我什至沒有安排會議。 我剛剛在自動加載中添加了它,不知道為什么會出現標題問題。 我的文件結構不正確嗎?

遇到PHP錯誤

嚴重程度:警告

消息:無法修改標題信息-已發送的標題(輸出從site / application / controllers / home.php:2開始)

文件名:libraries / Session.php

行號:675

在Home控制器中打開<?php標記之前,您可能有一個空格,這會導致輸出。

// a space here is enough to cause output
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');

在配置文件或自動加載文件上使用此行,或在index.php文件中添加此行可能會解決您的問題。

ob_start()

您將不得不將頁面的加載放置在控制器中而不是視圖中。

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

class Home extends CI_Controller{  

    public function index()
    {     
        $data['title'] = 'Welcome';
        $this->load->view('header',$data);
        $this->load->view('index',$data);
        $this->load->view('footer',$data);
    }

} 

該視圖用於顯示,您可以使用控制器對其進行控制。

<script src="<?= base_url(). 'js/javascript.js' ?>"></script> 
<link href="<?=base_url(). 'css/custom.css'?>" rel="stylesheet"> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM