我正在我的网站上实施支付系统。 在进行付款时,我创建了一个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?
答案 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"];