当前位置: 首页 > 知识库问答 >
问题:

CodeIgniter无法修改标头信息

萧晔
2023-03-14

嗨,目前我还在学习CodeIgniter。我正在尝试使用它的会话,并在自动加载文件中启用了该会话

首先,文件的文件结构是这样的/

我这样组织我的文件。所有模板都将放入视图/索引中。php

我的问题是我得到了这个错误无法修改标题信息

我家里有一个控制器

<?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> 

视图/标题。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">

视图/页脚。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>

然后我的内容

视图/模板/主页。php

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

</div> 

我不知道为什么我会得到那个错误会话。希望你能帮助我。我甚至没有安排会议。我刚刚在自动加载中添加了它,不知道为什么会出现标题问题。我的文件结构错了吗?

遇到一个PHP错误

严重性:警告

消息:无法修改报头信息-已发送的报头(在站点/应用程序/控制器/home.php开始输出:2)

文件名:库/会话。php

电话号码:675


共有3个答案

闻人修明
2023-03-14

您必须将页面的加载放在控制器中,而不是视图中。

<?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"> 
施俊远
2023-03-14

在配置文件、自动加载文件或加载项索引上使用此行。php文件可能会解决您的问题。

ob_start()
况野
2023-03-14

在打开

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

 类似资料:
  • 我在我的localhost上测试工作良好,现在显示任何错误,但上传到戈迪服务器后。 此错误显示在登录页面中。 错误消息1 消息:无法修改报头信息-已发送的报头(输出开始于 /home/user/public_html/ngapali/test/application/controllers/admin/user.php: 1) 文件名:库/会话。php 电话号码:433 错误消息2 消息:无法修改

  • 问题内容: 我是PHP的新手,我刚刚练习了PHP setcookie()并失败了。 http:// localhost / test / index.php http:// localhost / test / view.php 但是我无法运行index.php,像这样的IE警告。 毫无疑问,我启用了IE 6 cookie。 我上面的程序有什么问题吗?谢谢。 使用WinXP OS和XAMPP 1.

  • 本文向大家介绍PHP 警告:无法修改标头信息-标头已发送,包括了PHP 警告:无法修改标头信息-标头已发送的使用技巧和注意事项,需要的朋友参考一下 示例 外观: 当脚本尝试将HTTP标头发送到客户端但之前已经有输出时,会发生此情况,这导致标头已经发送到客户端。 可能的原因 : 打印,回显:打印和回显语句的输出将终止发送HTTP标头的机会。必须对应用程序流程进行重组以避免这种情况。 原始HTML区域

  • 问题内容: 我遇到这个错误。而且我不知道如何处理。 无法修改标头信息-已发送的标头(输出从/home/ben213/public_html/wp- includes/pluggable.php上的/home/ben213/public_html/wp- content/themes/Bendaggers/functions.php:9开始) 934行 我的Functions.php文件第9行是:

  • 问题内容: 我已经为这个错误苦苦挣扎了一段时间了。 首先,我只是以为是空格,但经过进一步研究,我认为这可能是与此类似的问题: 在此标头语句之前,查找所有可能将输出发送给用户的语句。如果找到一个或多个,请更改代码以将标头语句移到它们之前。复杂的条件语句可能会使问题复杂化,但也可能有助于解决问题。考虑一下PHP脚本顶部的条件表达式,该条件表达式尽早确定标头值并将其设置在那里。 我猜想include标头

  • 问题内容: 这个问题已经在这里有了答案 : 7年前关闭。 可能重复:标 头已由PHP发送 每当我尝试提交表单删除表单时,我都会不断收到此错误。 警告:无法修改标头信息-在第106行的C:\ xampp \ htdocs \ speedycms \ deleteclient.php中已经发送过的标头(输出从C:\ xampp \ htdocs \ speedycms \ deleteclient.p