【问题标题】:Saving request data in CakePHP between two actions in controller在控制器中的两个操作之间保存 CakePHP 中的请求数据
【发布时间】:2017-03-04 21:49:00
【问题描述】:

我有两个动作,就像我的控制器中的页面一样。我也有两个按钮:nextprevious。如何在同一控制器的两个操作之间保存我的$this->request->data?当我按下previous 时,我需要保留前一页上的所有数据,用户输入的这些数据不会消失。

【问题讨论】:

  • 你不能只用$this->Session->write()在一个动作中设置数据,用$this->Session->read()在另一个动作中获取数据吗?
  • @BogdanKuštan,但我有很多动作,所以我必须在所有这些动作中编写读写内容?
  • 请澄清您要达到的目标是什么?类似多步骤注册表单?
  • @BogdanKuštan,它只是一个表格,它有 3 个部分。每个部分(除了第一个)都有两个按钮:下一个和上一个。我正在尝试实现在这部分之间保存请求数据。因此,当我忘记在上一部分中填写某些内容时,我只需单击上一个按钮,然后转到所有数据保持之前设置的宝贵部分。
  • 您最好使用 javascript 来实现这一点。这样请求逻辑很容易处理。

标签: cakephp cakephp-2.4


【解决方案1】:

如果您没有很多字段并且字段名称唯一,您可以在控制器中处理表单时向会话添加对应的值。

$this->Session->write('Form1.field1', $value);

之后,您可以在每次再次访问该表单页面时从会话中获取保存的值,并将它们用作表单中的默认值。

$this->set('Form1.field1', $this->Session->read('Form1.field1'));

我必须承认,这样做不是很方便,而且我自己肯定会使用 JavaScript。

【讨论】:

    猜你喜欢
    • 2012-01-28
    • 1970-01-01
    • 2015-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多