CakePHP应用程序中已发送标题错误
即使我得到这个错误,$this->数据仍然正确地保存在数据库中。但是,如果我对重定向行进行如上所示的注释,则一切正常且无错误我已经检查了标签周围的空格,所以我很确定不是这样。 有什么想法吗 编辑:CakePHP应用程序中已发送标题错误,php,cakephp,header,Php,Cakephp,Header,即使我得到这个错误,$this->数据仍然正确地保存在数据库中。但是,如果我对重定向行进行如上所示的注释,则一切正常且无错误我已经检查了标签周围的空格,所以我很确定不是这样。 有什么想法吗 编辑: 注释掉setFlash语句并不能解决问题。我假设setFlash会向浏览器输出一些东西 如果标记前后的空白不是您的问题,您可能必须尝试为setFlash()的“layout”参数传递“null” i、 e 此代码将某些内容输出到浏览器,或者在文件(或任何其他包含的文件)末尾的?>后面有一个空格。空白被
注释掉setFlash语句并不能解决问题。我假设setFlash会向浏览器输出一些东西 如果标记前后的空白不是您的问题,您可能必须尝试为setFlash()的“layout”参数传递“null” i、 e
此代码将某些内容输出到浏览器,或者在文件(或任何其他包含的文件)末尾的
?>
后面有一个空格。空白被发送给用户,从而发送http头。是否有您没有向我们显示的调试语句?您可能在某个地方遇到了一个不可见的字符。检查文本编辑器的设置,看它是否使用BOM表保存文件。将调试模式更改为0,以确保在重定向之前不会生成通知/警告。此外,您可能希望收紧处理部分,以(偏执地)确保它没有使用无效索引,以及整个应用程序流中的任何其他位置来执行该操作,以确保您没有得到任何输出(如果在将debug更改为0时工作)。我会检查模型中的空白。他们中的任何一个。这是我遇到的一个难题。是的,它只是在下一页加载时闪烁一条消息(在本例中为$flasher)。如果您注释掉setFlash,然后重定向它是否有效?答案更新为可能的解决方案。如果我注释掉setFlash,它仍然会执行相同的操作。那么它可能超出了我们可以看到的代码范围。您可能有一个不可见的字符(尝试将PHP标记中的代码复制到带有新PHP标记的新文件中,并使用新的文本编辑器),或者您正在调用另一个发送文本或标题的函数。您是否尝试重定向到另一个操作?为什么不删除“sc”后面的逗号?逗号是问题之一。实际上我有一个打印($this->Session->read('CurrUser.username');打印($this->Session->read('CurrShowcase.id');在导致一些问题的if语句之前。
function new_photo()
{
if( !empty($this->data))
{
$this->data['Photo']['showcase_id'] = $this->Session->read('CurrShowcase.id');
$this->data['Photo']['added'] = date("Y-m-d H:i:s");
$this->Showcase->Photo->save($this->data);
$flasher = 'Photo uploaded successfully';
$flasher .= '<br/><img src="' . $this->data['Photo']['thumbnail_url'] . '"/>';
$this->Session->setFlash($flasher);
//$this->redirect(array('action'=>'sc',));
}
}
Warning (2): Cannot modify header information - headers already
sent by (output started at D:\.....
$this->Session->setFlash($flasher, null);