无法从URL获取查询

时间:2014-10-31 15:13:01

标签: php parsing laravel omnipay

我正在我的网站上实施支付系统。 在进行付款时,我创建了一个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中返回查询。如果我var_dump(Request::url()); 它还返回" www.myawesomewebsite.com/return"。不知怎的,它无法看到' URL中的order_id。

我的问题是,如何成功检索order_id?

1 个答案:

答案 0 :(得分: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"];