我在 Cakephp 中遇到以下问题:我制作了一个 CMS 来用 CakePhp 编辑网站的内容。现在,当我更改表单中的内容并单击“保存”时,他再次显示表单更改之前的数据。在数据库中,一切都保存得很好,如果我刷新页面,他也会显示正确的数据。
我知道我可以呈现一个新页面或重定向到另一个页面,但我喜欢只使用 setFlash 显示一条消息,仅此而已。有人可以帮我吗?
提前致谢
亚伦
我在 Cakephp 中遇到以下问题:我制作了一个 CMS 来用 CakePhp 编辑网站的内容。现在,当我更改表单中的内容并单击“保存”时,他再次显示表单更改之前的数据。在数据库中,一切都保存得很好,如果我刷新页面,他也会显示正确的数据。
我知道我可以呈现一个新页面或重定向到另一个页面,但我喜欢只使用 setFlash 显示一条消息,仅此而已。有人可以帮我吗?
提前致谢
亚伦
更新:检查下面的 Justin T. 解决方案。
您可以重定向到同一页面:
设置您的闪信:
$this->setFlash('blablablabla');
和
return $this->redirect($this->here); //cake 1.3
或者
return $this->redirect($this->request->here); // cake 2.x
或者
return $this->redirect(['controller' => 'MyController', 'action' => 'methodOfController']); // cake3.X
重定向。
使用新方法 flash()您可以设置消息并以相同的方法重定向。
这是我所知道的最优雅的方式,它是这样的:
<?php
public function post() {
// process content here...
// redirects the user immediately with a nice message
$this->flash('Your post has been updated, thanks', 'index');
}
希望这可以帮助 !