2013-01-24 60 views
0

我不會在哪裏出錯。我通過ajax請求從主頁數據發送到somepage.php。在某些情況下,somepage.php將用戶重定向到顯示用戶頁面的someotherpage.php。重定向是由一個頭('location:'。$ url),(所以$ url處理someotherpage.php)。問題是重定向失去了從最初的ajax請求發佈的數據。所以,我選擇通過給tredirect用戶:重定向時鬆動發佈的數據 - php

$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擊球時。有人可以幫忙嗎?

回答

1

POST只持續了一個請求,那麼你一定會失去它的重定向。

它分配給一個會話變量上,而不是重定向:

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

然後,在重定向到頁面:

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

事實上,我不再重定向了,我檢查了$數據是否包含正確的信息。當附加到捲曲過程時,什麼是$數據? – user1611830

+0

對不起,我不明白你的問題。如果您不再重定向,則$數據應該按原樣運行。 cURL不應該影響它。 – Toddish

+0

我把我的帖子的代碼。然後我運行var_dump($ _ POST); exit;和輸出是:array(0){} ??? – user1611830

0

你的問題已經在它自己的答案。

一旦網頁被重定向發佈的數據也將消失。

如要發佈的數據在全球範圍必須使用$_SESSION存儲發佈的數據。因爲你知道$_SESSION是超自然的全球性。

+0

事實上,我不再重定向了,我檢查了$數據是否包含正確的信息。當附加到捲曲過程時,什麼是$數據? – user1611830