重定向时丢失帖子数据 - php

时间:2013-01-24 11:17:55

标签: php redirect post curl

我不会在哪里出错。我通过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时已经没有帖子数据了。有人可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

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

在重定向上将其分配给SESSION变量:

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

然后,在重定向到页面:

$data = $_SESSION['post_data'];
unset($_SESSION['post_data']);

答案 1 :(得分:0)

你的问题已经有答案了。

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

要全局发布数据,您必须使用$_SESSION来存储发布的数据。因为你知道$_SESSION在其中是超级全球性的。