1

我必须使用从$_POST第二种方法中第一次调用获得的$_POST值到另一个值。例如我得到$location = $POST['location_name'];

我希望能够在执行另一个 $_POST 时传递 $location ,这会导致第二种形式。

1st Form -> 2nd Form($_POST['location-name']) -> 3rd form $_POST['location-name']

但是我在进入第三种形式时失去了价值。

如何获得第 3 种形式的值?

谢谢

4

4 回答 4

4

虽然出于安全原因我不建议这样做...有一种方法可以使用 POST

您可以在第二页上写一堆隐藏字段,其中包含上一个表单帖子的值,如下所示:

foreach($_POST as $field => $val) {
  echo('<input type="hidden" name="'.$field.'" value="'.$value.'" />);
}

这将为前一个$_POST数组中的每个值创建一个隐藏字段,并将其与新表单数据一起发送,因此第二个$_POST将包含第一个和第二个表单中的所有值

于 2013-04-23T11:46:51.227 回答
3

正如其他人所说,您不能为此使用 POST。会话会更好。

如果您确实必须使用 POST,那么真正解决此问题的唯一方法是加载一个页面,该页面使用 POST 变量填写表单,然后使用 JavaScript 自动将该表单发布到 location 变量。对于每个 POST 变量,此表单必须有一个隐藏值,其名称属性与 $_POST 数组中的键相同。

有关更多面向代码的描述,请参见 Duellsy 的答案。

于 2013-04-23T11:45:12.080 回答
2

您应该为此使用会话变量- 获取在第一篇文章中提交的值,将它们存储并在$_SESSION第二篇文章之后从那里获取它们。

于 2013-04-23T11:43:55.517 回答
1

只有客户端可以进行 POST。只有当客户端向您的服务器执行 POST 时,您才会获得这些 POST 变量。

所以你应该找到另一个解决方案。您可以使用会话来存储特定于客户端的信息,这样您就可以在客户端向您的服务器发出另一个请求时识别该客户端。

$_SESSION['variable_name'];

您还可以在下一个 POST 的表单中包含第一个 POST 的变量。如果它不是您必须在整个网站上使用的东西,而只是为了这个流程,这会更干净。

但是请注意,您应该始终验证客户发布的数据,您应该注意跨站点请求伪造

于 2013-04-23T11:49:58.223 回答