2013-02-28 114 views
1

我是新来的蛋糕,我试图让事件保存后重定向的函数..它在其他代码例如用户,而不是在事件的..

功能并保存事件,它只是它不会重定向或使用本SETFLASH

这里是我的事件控制器添加功能可按代码:

public function add() { 
     if ($this->request->is('post')) { 
      $this->Event->create(); 
      if ($this->Event->save($this->request->data)) { 
       $this->Session->setFlash(__('The event has been saved')); 
       $this->redirect(array('action' => 'eventmanage')); 
      } else { 
       $this->Session->setFlash(__('The event could not be saved. Please, contact the administrator.')); 
      } 
     } 
    } 

任何帮助将非常感谢!

+1

最可能的原因是,您的应用程序之前输出一些数据*重定向头被发送。如果您的文件包含utf-8 BOM等,请检查'<?php'标记之前或'?>'结束标记之前是否有空格(您应该在php-only文件中删除这些空格)。能够通过检查萤火虫或Chrome网络探测器内的响应来检查此问题 – thaJeztah 2013-02-28 22:47:14

+0

谢谢,如果您希望整个“”是问题,您可以将其作为答案张贴。 非常感谢! – iwj145 2013-03-01 19:46:25

+0

我发布了它作为答案,很高兴我可以帮助! – thaJeztah 2013-03-01 21:09:17

回答

5

最可能的原因是您的应用程序在发送重定向标头之前正在输出一些数据。

检查是否有您的<?php标签前添加一个空格,或?>结束标记后(你应该反正只在PHP的文件中删除的),或者如果你的文件中包含一个UTF-8 BOM等

您或许可以通过检查萤火虫或Chrome网络探测器内的响应来检查此问题

+0

谢谢,这节省了我的时间! – 2014-01-30 06:01:34

0

我只是想添加注释,但还不能。

如果您想知道哪些文件正在输出阻止重定向的数据,那么您必须非常彻底。

在我的情况是一些如aparently inocent为注释(HTML注释),我把在MODEL从哪个视图,我想重定向(不那么明显的发现)。 这个未被重定向的空白页面可能非常简单,如换行空间就在<?php ?>之前,这两者都很难找到,并且都会阻止重定向。

如果你有这个问题,希望我的提示可以帮助你。

0

用这个之前过滤功能

header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0"); // // HTTP/1.1 
    header("Pragma: no-cache");