Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为什么我';“我得到了”;无法修改已由注册“U模型”发送的标题信息标题;代码点火器出错?_Php_Codeigniter - Fatal编程技术网

Php 为什么我';“我得到了”;无法修改已由注册“U模型”发送的标题信息标题;代码点火器出错?

Php 为什么我';“我得到了”;无法修改已由注册“U模型”发送的标题信息标题;代码点火器出错?,php,codeigniter,Php,Codeigniter,我的codeigniter应用程序中的模型有问题。我收到发送标题信息的错误。基本上,codeigniter是在抱怨我的注册模型在发送头信息之前先发送头信息。怎么可能呢?我认为模型仅用于保存db查询方法,仅此而已。有人能给我解释一下吗 控制器的开头是这样的: function User() { parent::Controller(); $this->view_data['base_url'] = base_url(); $this->load->mode

我的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'));  
}

请注意,头应该在任何其他内容之前发送。确保header函数之前没有代码/html,甚至没有空格/缩进,并且在视图中第一次打开php标记
之前没有任何内容。

实际上,一些主机提供程序使用php
header()
重定向我们的站点,因此在这种服务器中,如果我们使用PHP
header()
它将给出错误。我认为是这样。在代码点火器中重定向()正在使用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>
';
//您的代码用于重定向
重定向(“站点/功能1”);
//解决此问题的备用代码
$url='site/function1';
回声'
window.location.href=“'.base_url().'index.php?/'.$url.”;
';
我不知道这是否是解决上述问题的正确方法,但我正在使用它,它100%有效。谢谢你

将此ob_start()放置在;在应用程序目录下的index.php的第一行,如下所示:

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

在哪个文件中使用头函数、控制器或视图?我在视图Sarfaz中有所有头信息。我应该提到,我需要重写我的registration_model.php,因为我在尝试将它上载到服务器时丢失了它(当时我失去了连接),并且没有进行任何备份(我知道程序员永远不应该犯下可怕的错误)。但至少我知道我的模型文件有问题。你检查过php标记之前/之后的空格吗?请引用你收到的确切错误消息。感谢Sarfraz的提示-我在controller类之前放了一个空格和一条注释。移除后,一切都恢复了正常。是的,在一个简单的空白前有一个空白,这让我的30分钟变得一团糟;(谢谢你的提示@Sarfraz刚刚花了两天时间弄明白了这一点,差点把我的笔记本电脑扔到房间的另一个角落,就在那之前,你能告诉我为什么我的情况会这样吗?+1 BTW这是为什么吗??,有人能解释一下吗?根据@Sarfraz的回答,ob_start();将打开输出缓冲。当输出缓冲处于活动状态时,不会从脚本发送任何输出(标题除外)。Sir@Gery great…这解决了我的问题。我必须登录才能投票赞成+1,谢谢