【问题标题】:Unable to redirect from Drupal to PayPal无法从 Drupal 重定向到 PayPal
【发布时间】:2014-10-28 18:32:37
【问题描述】:

我对 Drupal 完全陌生。当用户点击付款时,我使用纯 HTML 在 Drupal 中创建了一个表单,我调用一个 PHP 文件只是为了获取一些数据库信息,随后这个 PHP 重定向到另一个将 PayPal 付款放在一起的 PHP。

由于某种原因,当从 Drupal 下调用 PayPal 付款 PHP 时,它不会重定向到 PayPal。我的图层如下:

https://example.com/test/?q=node/11 --> 调用 savedatatoDB.php --> 调用 paypalpreparepayment.php --> 重定向到 paypal

如果我像这样直接从浏览器调用 PayPal 支付 PHP: https://example.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 是否会以某种方式阻止重定向。

【问题讨论】:

    标签: php paypal drupal-7 paypal-sandbox


    【解决方案1】:

    我从 Drupal.org 得到了一个有道理的答案。

    这里是链接:https://www.drupal.org/node/2365503#comment-9295613

    Jaypan 大约 11 小时前发表评论

    问题是你的重定向是在服务器端,但你是 用 JavaScript 触发它。如果触发器在您的 JS 中,则 重定向也需要在 JS 中发生。如果触发器是非 JS (提交到服务器),那么你的重定向可以在服务器端。

    【讨论】:

      猜你喜欢
      • 2010-12-07
      • 1970-01-01
      • 2021-08-11
      • 2011-02-18
      • 2016-09-24
      • 2012-09-08
      • 2013-08-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多