0

どこが間違っているのかわかりません。ホームページのデータから ajax リクエストで somepage.php に送信しています。一部の条件下では、somepage.php は、ユーザー ページを表示する someotherpage.php にユーザーをリダイレクトします。リダイレクトは header('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 は 1 つのリクエストに対してしか持続しないため、リダイレクトすると間違いなく失われます。

代わりに、リダイレクト時に 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 に答える