我有一个网页。该网页将用户重定向到另一网页,或多或少如下所示:
<form method="post" action="anotherpage.php" id="myform">
<?php foreach($_GET as $key => $value){
echo "<input type='hidden' name='{$key}' value='{$value}' />";
} ?>
</form>
<script>
document.getElementById('myform').submit();
</script>
你看,我所做的就是把GET参数转换成POST参数。不要告诉我这很糟糕,我自己也知道,这并不是我真正做的事情,重要的是我从一个数组中收集数据,并尝试通过POST将其提交到另一个页面。但是如果用户关闭了JavaScript,它就不会工作。我需要知道的是:有没有一种方法可以通过PHP传递POST参数,这样重定向也可以用PHP的方式(header('Location: anotherpage.php');
)来完成?
通过POST传递参数对我来说非常重要。我不能使用$_SESSION变量,因为该网页在另一个域上,因此,$_SESSION变量不同。
无论如何,我只需要一种用PHP^^传递POST变量的方法
提前感谢!
发布于 2010-05-19 20:20:44
将数据存储在会话中,然后使用GET。
发布于 2010-05-19 21:10:46
这是可能的。在这种情况下,我将使用cURL:
$url = 'http://domain.com/get-post.php';
foreach($_GET as $key=>$value) {
$fields_string .= $key.'='.$value.'&';
}
rtrim($fields_string,'&');
//open connection
$ch = curl_init();
//set the url, number of POST vars, POST data
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_POST,count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string);
//execute post
$result = curl_exec($ch);
//close connection
curl_close($ch);
发布于 2016-10-08 01:58:10
在POST Redirect GET情况下(请参阅https://en.wikipedia.org/wiki/Post/Redirect/Get ),可以使用会话变量作为传输数据的方法。
<?php
session_start();
// return is the name of a checkbox in the post-redirect-get.php script.
if(isset($_POST['return'])) {
// We add some data based on some sort of computation and
// return it to the calling script
$_SESSION['action']="This string represents data in this example!";
header('location: post-redirect-get.php');
}
https://stackoverflow.com/questions/2865289
复制相似问题