0

简而言之,有没有办法将用户的 POST 输入输出回他在上一页中使用的文本框中?

例子:

Page one
Text box: <value here>
Text box: <value here>
Text box: <value here>

假设用户决定按下一步(这会将用户引导至第二页),但突然决定返回做一些小改动(第一页)。

我有一个奇怪的设计。由于我不知道如何保留我在第一页中使用的变量,所以我决定在按下下一步后立即将其输入数据库。但是如果我回到第 1 页,它将创建一个新的数据行。我有点困惑,如果您知道如何有效地做到这一点,请提出建议。谢谢!

4

2 回答 2

1

现在可能是咬紧牙关重构的好时机。最好现在就完成它,然后再跳过障碍让它工作,这会导致代码在最好的情况下很麻烦,在最坏的情况下难以理解。

就像这里的其他人建议的那样,您可以将表单值保存在$_SESSION变量中。您最好的选择可能是重构表单,以便所有数据都保存在最后一页,但如果这不可行,那么在第 1 页之后,保存表单值和数据集的唯一 ID(例如主键值)到$_SESSION第 2 页的顶部。

如果用户随后按下后退按钮和isset($_SESSION['myform']['id']),那么您可以使用保存的值重新填充表单元素。同样,如果在第 2 页的顶部$_SESSION['myform']['id']设置了,则无需插入新行,只需使用来自 的新表单数据更新现有行$_REQUEST

于 2013-03-18T00:49:49.940 回答
0

将它们存储为 $_SESSION 变量。例如,设置 $_SESSION['input'] = 24。然后您可以在其他页面上调用该值,直到您结束会话。

http://php.net/manual/en/reserved.variables.session.php

于 2013-03-18T00:47:07.120 回答