2011-07-20 64 views
1

我在我的網站上設置了一個PHP IPN Paypal通知處理程序,以通知我通過PayPal進行的付款。我有一個Joomla安裝,它使用一個精心製作,未註釋和無證的組件來處理預訂。如何從Paypal IPN處理程序中的另一個PHP腳本重定向到/執行1腳本?

我知道一旦收到有效的IPN,我需要用一系列參數調用某個PHP腳本。然而,因爲它的Joomla我在表單中的腳本:

/index.php?option=com_component &控制器=對照

雖然這顯然是不實際的PHP腳本 - 就像我說的,一個精心製作的MVC框架。

然後調用此腳本的最佳方法是什麼?我想用

header("Location: index.php?opt...."); 

但是鑑於我之前(無輸出)和後處理可能已經得到了處理,我不知道這是否是最佳的通話。

欣賞這個問題是相當鈍的,但任何幫助表示讚賞!

回答

1

如果您的服務器已安裝/啓用,您可以嘗試使用CURL

$ch = curl_init("path/to/your/script.php"); 

//Include your headers here 
$headers = array(''); 

//Set the data you want to send, as an associative array. 
$postData = array("foo" => "bar", 12 => true); 

curl_setopt($ch, CURLOPT_HEADER, false); 
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_POST, true); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData); 
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0); 
$output = curl_exec($ch); 
if($output == FALSE){ 
    // Error reporting 
} 
curl_close($ch); 
+0

我同意,我也必須調用外部腳本,並且curl是實現此目的的最佳方法。你不能指望貝寶遵循標題重定向 –

+0

謝謝大家,工作的魅力。 – codinghands

0

你不能依靠貝寶來關注你的重定向,或者至少我不會。

如何包含您想要調用的php腳本?

+0

我曾考慮過這個問題,但一些初步測試似乎不起作用。我會再試一次,看看它是否有效。 – codinghands

+0

您也將在所包含的頁面中提供所有變量,這意味着來自IPN的所有$ _POST和$ _GET變量。 – jishi

相關問題