PHP回调URL不包含?a = complete

时间:2018-09-26 08:27:12

标签: php

我正在尝试将回调URL从一个URL更改为另一个URL。当前的回调URL是

defaults read com.apple.sharingd DiscoverableMode | grep 'Off'

我想将URL更改为header("Location: ".$gatewayParams['systemurl']."/viewinvoice.php?id=" . $merchant_order_id); 当我尝试用https://example.com/cart.php?a=complete替换/viewinvoice.php?id=时,我被重定向到/cart.php?a=complete,并且https://example.com/cart.php被剥夺了。

有人可以告诉我到达https://example.com/cart.php?a=complete的方式

请注意: 1.我不是PHP开发人员,因此,如果您有什么建议,请提供完整的代码段。 2.我的目标是将用户重定向到“ https://example.com/cart.php?a=complete”。如果需要编程逻辑,可以对其进行硬编码。 3.请找到实际的用例here

我发现,如果我可以修复此回调URL,那么它将解决我的问题

2 个答案:

答案 0 :(得分:0)

您应该尝试以下

$callback_url = $gatewayParams['systemurl']."/viewinvoice.php?id=" . $merchant_order_id;
$callback_url = str_replace('/viewinvoice.php?id=', '/cart.php?a=complete', $callback_url);
header("Location: ".$callback_url);

答案 1 :(得分:0)

不确定您要做什么。无论如何,如果我要通过标头函数重定向到带有一些额外参数的URL。我将其放入GET变量中。因此,如果有一个http请求发给example.php

// example.php
<?php
$merchant_id = 123;
$_GET['merchant_id'] = $merchant_id;
header('Location: invoice.php');

而且,在invoice.php

// invoice.php
if( isset($_GET['merchant_id']) ) {
  $merchant_id = $_GET['merchant_id'];
  unset($_GET['merchant_id']);
}