在CakePHP 2.2中使用重定向方法时,不传递带set的变量

在CakePHP 2.2中使用重定向方法时,不传递带set的变量,cakephp,cakephp-2.0,cakephp-2.2,Cakephp,Cakephp 2.0,Cakephp 2.2,有没有办法将变量传递给我要重定向用户的视图? 我注意到这不起作用: $this->set('var', 'value') $this->redirect(array('controller' => 'example', 'action' => 'view', $this->request->data['Post']['id'])); 必须进行重定向。这是一个从“Post”视图调用的“Comment”add操作。 我只希望文本区域在提交之前仍保留先前输入的文本

有没有办法将变量传递给我要重定向用户的视图? 我注意到这不起作用:

$this->set('var', 'value')
$this->redirect(array('controller' => 'example', 'action' => 'view', $this->request->data['Post']['id']));
必须进行重定向。这是一个从“Post”视图调用的“Comment”add操作。 我只希望文本区域在提交之前仍保留先前输入的文本


谢谢。

有多种方法,你的不是其中之一

a) 在url中传递值

 $this->redirect(array('controller' => 'example', 'action' => 'view', $this->request->data['Post']['id'], 'var' => $value));
如果你的字符串包含特殊字符等,你需要URLESECAPE甚至Base64编码

b) 将其写入会话并在重定向控制器操作或视图中读取


c) 根据要传递的数据类型,将其存储在其他位置(数据库、缓存等)。对于较长的内容,上述方法不是一个好的选择。不过,对它的引用可以安全地存储在会话中,以便在重定向页面中更方便地查找。

有多种方法,您的方法不是其中之一

a) 在url中传递值

 $this->redirect(array('controller' => 'example', 'action' => 'view', $this->request->data['Post']['id'], 'var' => $value));
如果你的字符串包含特殊字符等,你需要URLESECAPE甚至Base64编码

b) 将其写入会话并在重定向控制器操作或视图中读取


c) 根据要传递的数据类型,将其存储在其他位置(数据库、缓存等)。对于较长的内容,上述方法不是一个好的选择。不过,对它的引用可以安全地存储在会话中,以便在重定向页面中更容易地查找。

您需要认真思考。关于你期望它做什么以及为什么它永远不会工作(至少在基本物理定律被证明是错误的之前)…重定向清除所有集合。我知道。这就是为什么我要问是否还有其他办法。你需要认真思考。关于你期望它做什么以及为什么它永远不会工作(至少在基本物理定律被证明是错误的之前)…重定向清除所有集合。我知道。这就是为什么我问是否有其他方法。是的,我在考虑会话,但也许我可以使用URL。谢谢。是的,我正在考虑会议,但也许我可以使用URL。谢谢