重定向时丢失已发布的数据-php

重定向时丢失已发布的数据-php,php,redirect,post,curl,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_set

我不知道我错在哪里。我正在通过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时,我再也没有post数据了。有人可以帮你吗?

帖子只支持一个请求,所以你肯定会在重定向时丢失它

改为在重定向时将其分配给会话变量:

session_start();
$_SESSION['post_data'] = $_POST;
// Redirect the user
然后,在“重定向到”页面上:

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

你的问题已经有了答案

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


要全局获取发布的数据,必须使用
$\u SESSION
存储发布的数据。因为您知道,
$\u SESSION
本身就是超级全局的。

事实上,我不再重定向了,我检查了$data是否包含正确的信息。当连接到curl进程时,$data将变成什么?事实上,我不再重定向,我检查了$data是否包含正确的信息。当连接到curl进程时,$data将变成什么?对不起,我不理解您的问题。如果不再重定向,$数据应按原样工作。卷曲不应该影响它。我把我的帖子的代码写得一模一样。然后我运行var_dump($_POST);出口结果是:array(0){}???这意味着没有任何内容发布到页面上$ch=curl_init($url);卷曲设置($ch,卷曲设置桩,1);curl_setopt($ch,CURLOPT_POSTFIELDS,$data);var_dump($数据);出口所以我真的不明白