1

所以我正在使用 wordpress,但 wordpress 社区似乎对严格的 PHP 或任何可以在这种情况下提供帮助的东西知之甚少。

我有一个名为 Gravity Forms 的插件,我用它来创建一个非常精细的表单/调查。不过,这笔交易是一个多部分的表单,我不确定如何获取从第一个到第二个的所有表单数据。

我可以通过查询字符串传递数据,但我传递了 25 个信息字段,所以它不太适合我。

提交 form1 后,我可以让它重定向到第二页,其中有一些代码,比如

$foo = $_POST['field_1_1']; 

其中 field_1_1 是前一个表单中输入的名称?

我以前使用 $_GET 查询字符串,但我不确定我刚才所说的示例是否是如何使用 $_POST

4

4 回答 4

1

您可以$_SESSION在 PHP 中使用在请求之间保留的变量(最多配置您的 PHP 会话的时间——通常是几个小时)

或者,您也可以(在网络使用方面效率低下)将旧表单数据输出到<input type="hidden">元素中。如果您要这样做,我会考虑使用序列化功能

如果您在大规模生产环境中做某事,您可能还想查看 memcache 或 redis db

您可能希望考虑的其他事情是使用 JS 在客户端进行分页,以便在填写所有页面后提交表单

于 2012-08-07T17:28:29.170 回答
0

如果您打算使用单独的表单,也许您会发现使用 $_SESSION 超全局数组在会话中临时保存 $_POST 数据很有用。

或者您可以使用 JavaScript 拆分长格式并将其发送一次到最终目的地。

于 2012-08-07T17:24:43.290 回答
0

是的,这是正确的用法。只需确保您的表单使用该POST方法提交即可。

只需确保(如您所愿$_GET)用户输入不可信。一定要清理它们以进行数据库交互。

于 2012-08-07T17:14:28.083 回答
0

是的,像这样改变你的表格:

<form method="post" action="page_to_post_to.php" name="form1" id="form1">
    ....
</form>

您正在将methodtopost和 the更改action为新页面。新页面是您可以从中访问$_POST变量的页面。

于 2012-08-07T17:15:32.093 回答