使用第一个$ _POST的值发送另一个$ _POST

时间:2013-04-23 11:41:31

标签: php post

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

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

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

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

如何以第3种形式获取价值?

由于

4 个答案:

答案 0 :(得分:4)

虽然出于安全原因我不建议这样做... IS 是一种使用POST执行此操作的方法

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

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

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

答案 1 :(得分:3)

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

如果你真的必须使用POST,那么真正解决这个问题的唯一方法是加载一个用POST变量填充表单的页面,然后自动将带有JavaScript的表单发布到位置变量。此表单必须为每个POST变量设置一个隐藏值,其名称属性与$ _POST数组中的键相同。

请参阅duellsy的答案,了解更多以代码为导向的描述。

答案 2 :(得分:2)

您应该使用session variables - 获取第一篇文章中提交的值,将其存储在$_SESSION中,然后在第二篇文章后从那里获取。

答案 3 :(得分:1)

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

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

$_SESSION['variable_name'];

您还可以在下一个POST的表单中包含第一个POST的变量。如果不是你必须在你的网站上使用它而只是为了这个流程,那就更清洁了。

请注意,您应该始终验证客户发布的数据,您应该注意cross-site request forgery