0

我不知道我哪里错了。我通过 ajax 请求从主页数据发送到 somepage.php。在某些情况下,somepage.php 会将用户重定向到显示用户页面的 someotherpage.php。重定向由标头('location :'. $url)进行,(因此 $url 处理 someotherpage.php) 问题是重定向丢失了从初始 ajax 请求发布的数据。所以我选择通过以下方式重定向用户:

$data = $_POST['data'];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
exit;

问题是我在点击 someotherpage.php 时没有发布数据了。有人可以帮忙吗?

4

2 回答 2

1

POST 仅持续一个请求,因此您肯定会在重定向时丢失它。

将其分配给重定向时的 SESSION 变量:

session_start();
$_SESSION['post_data'] = $_POST;
// Redirect the user

然后,在重定向到页面上:

$data = $_SESSION['post_data'];
unset($_SESSION['post_data']);
于 2013-01-24T11:21:02.877 回答
0

你的问题已经有了自己的答案。

一旦页面被重定向,发布的数据也将消失。

要获取全局发布的数据,您必须使用$_SESSION来存储发布的数据。因为如您所知$_SESSION,它本身就是超级全球性的。

于 2013-01-24T11:21:11.453 回答