2014-10-28 40 views
0

我完全是Drupal的新手。我在Drupal中使用純HTML創建了一個表單,當用戶點擊付費時,我調用一個PHP文件來獲取一些數據庫信息,然後將這個PHP重定向到另一個將Paypal付款放在一起的PHP。無法重定向從Drupal到PayPal

由於某些原因,Paypal付款PHP在Drupal下調用時不會重定向到PayPal。我的各層如下:

https://mysite.com/test/?q=node/11 - >調用savedatatoDB.php - >呼叫paypalpreparepayment.php - >重定向到PayPal

如果我把支付寶付款PHP從瀏覽器直接像這樣: https://mysite.com/test/paypal/restapi/sample/payments/PaymentPP.php?samount=0.005&sprice=123.45&description=products&sqty=100

它的工作原理!我認爲這個問題可能是header()之前的輸出,但事實並非如此。

我寫了這樣一行重定向之前權利寫入日誌文件:

$today = date("D M j G:i:s T Y");    // Sat Mar 10 17:16:18 MST 2001 
$log = "{$today} ready to redirect {$sale_description}, {$sale_amount}, {$sale_quantity}, {$sale_price}\n"; 
//Save string to log, use FILE_APPEND to append. 
file_put_contents('./log_'.date("j.n.Y").'.txt', $log, FILE_APPEND); 
header("Location: $redirectUrl"); 
exit; 

和日誌顯示,我越來越遠,但沒有重定向!但是如果我直接從瀏覽器調用PHP,那麼我會看到Paypal要求我授權。

所以,當我在Drupal UI下時,我想知道Drupal是否可以阻止重定向。

任何任何想法請嗎?謝謝你的幫助。

回答

0

我從Drupal.org得到了一個有意義的答案。

這裏是鏈接:https://www.drupal.org/node/2365503#comment-9295613

Jaypan評論約11小時前

的問題是,您的重定向是在服務器端,但你 使用JavaScript觸發它。如果觸發器在你的JS中,那麼在JS中也需要重定向 。如果觸發器是非JS (提交給服務器),那麼您的重定向可以在服務器端。