我必须使用我在第二个$_POST
方法中从第一次$_POST
调用获得的值到另一个值。
例如,我得到$location = $POST['location_name'];
我希望能够在执行另一个$ _POST时传递$ location,从而导致第二种形式。
1st Form -> 2nd Form($_POST['location-name']) -> 3rd form $_POST['location-name']
但是我在转到第三种形式时失去了价值。
如何以第3种形式获取价值?
由于
答案 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。