0

我正在我的网站中实施支付系统。付款时,我创建一个 transaction_id 和一个 order_id。第三方需要 transaction_id 才能成功付款。order_id 是为了让我识别哪个订单伴随着哪个交易。

付款后,用户返回“返回页面”。此 URL 类似于:'www.myawesomewebsite.com/return' 但是,它会在链接后添加 order_id。所以这个网址看起来像:'www.myawesomewebsite.com/return?#31102014033349-3'。

当我在这个页面上时,我想解析 URL 以检索 order_id。但是,如果我这样做:

array(3) { ["scheme"]=> string(4) "http" ["host"]=> string(17) "www.myawesomewebsite.com" ["path"]=> string(27) "/return"

如您所见,它不会在 URL 中返回查询。如果 ivar_dump(Request::url()); 它还返回“www.myawesomewebsite.com/return”。不知何故,它无法“看到” URL 中的 order_id。

我的问题,我怎样才能成功检索 order_id?

4

1 回答 1

2
<?php

    $url = "http://www.myawesomewebsite.com/return?order_id=31102014033349-3";

    $host = parse_url( $url );

    var_dump( $host );

?>


Output:

array(4) {
  ["scheme"]=>
  string(4) "http"
  ["host"]=>
  string(24) "www.myawesomewebsite.com"
  ["path"]=>
  string(7) "/return"
  ["query"]=>
  string(25) "order_id=31102014033349-3"
}

或者简单的获得:

$_GET["order_id"];
于 2014-10-31T15:27:38.857 回答