【问题标题】:'Previous' Button in HTML/PHPHTML/PHP 中的“上一个”按钮
【发布时间】:2011-02-21 17:02:53
【问题描述】:

我对这个问题思考了好几个小时,但没有得出任何结论。我的问题是我需要在表单中添加一个“上一个”按钮。用户应填写一个分为 13 个部分的公式。每个部分都是一个自己的公式,有一个“下一步”按钮,用于将所有内容提交到数据库并重定向到下一页。

如何在此处集成“上一个”按钮? ...

如果知道我正在使用 cakePHP 对您有用的话,我不知道,而且我对它还很陌生。

【问题讨论】:

    标签: php html cakephp button


    【解决方案1】:

    我用经典的 ASP 编写了一个类似的表单,看看你是否可以让它在 CakePHP 中工作:

    我有一个 7 步表单,第 2-7 步有前一个按钮。每个步骤由一个 asp 脚本组成。所有脚本都发回给自己。我在每次调用脚本时检查REQUEST_METHOD,看看它是由GET 方法还是POST 调用的。如果POST 则验证数据,如果验证则保存数据。表单上有三个提交按钮,允许用户选择是否只想保存数据、保存并移至下一步或保存并移至上一步。根据单击的按钮,用户被“重定向”到上一页/下一页。这篇文章指定了如何添加和处理上一个/下一个按钮:

    Multiple Submit Buttons — Specifying default button

    【讨论】:

    • 这让我想到了解决方案!感谢大家的帮助!
    【解决方案2】:

    真正的问题是,您是否要将公式的每个阶段存储在记录中?还是您想将公式的每个阶段都存储在“事务”中?这里的区别很重要。你和用户是什么关系?他们登录了吗?他们是匿名的吗?您如何将他们的答案从一个表单条目关联到下一个?如果您以某种时间顺序将每个条目存储在数据库中,则只需使用先前输入的值填充先前的表单;当他们单击上一个时。如果您不存储条目,而是利用会话在“下一次”点击之间保留值,则使用这些值填充“上一个”表单。

    【讨论】:

    • 实际上用户是匿名的,发生的情况是,在他们点击“下一步”后,他们的数据将保存在表格中。只要他们在第 2、3、4、5 页上单击“下一步”……他们提供的数据仍然在他们在数据库中的特定条目上。所以我在这里首先使用 INSERT VALUES,然后才更新,直到它们到达最后一页。但我不知道如何制作上一个将它们重定向回来的按钮?!我只有一个指向下一页的动作属性...
    • 太好了,这意味着您拥有他们正在更新的记录的 ID。这意味着您可以使用会话来确定他们之前是否回答过上一个阶段并存储上一个阶段的“位置”,当用户点击下一步时,您将按 ID 更新记录,如果他们单击上一个,只需检索最后一组来自同一 ID 的值并填充表单。提供您的一些代码,我相信我们可以让您继续前进。
    【解决方案3】:

    将每个表单的 POST 数据和当前表单索引存储在会话中。 单击后退按钮时,打开表单 (currentForm - 1)(如果这是有效的表单索引)并使用 formData[currentForm] 填充字段(假设 currentForm 现在是后退按钮重定向到的表单)

    【讨论】:

    • 这就是我之前的想法,将 POST 数据存储在会话中,但它会很多,而且我还需要“不完整”的数据。这意味着每次用户点击“下一步”按钮时我都必须写入数据库。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-20
    • 2020-01-06
    • 1970-01-01
    • 2015-08-06
    • 2021-07-18
    • 2021-12-12
    • 2020-01-01
    相关资源
    最近更新 更多