Не удается получить запрос из URL

Я внедряю платежную систему на свой сайт. При совершении платежа я создаю transaction_id и order_id. Идентификатор transaction_id необходим третьему лицу для успешного проведения платежа. Order_id для меня, чтобы определить, какой заказ идет с какой транзакцией.

После оплаты пользователь возвращается на «страницу возврата». этот URL-адрес будет выглядеть примерно так: «www.myawesomewebsite.com/return», однако после ссылки добавляется идентификатор order_id. Таким образом, этот URL-адрес будет выглядеть так: «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». Почему-то он не может «видеть» order_id в URL-адресе.

Мой вопрос, как я могу успешно получить order_id?


person Jeroen    schedule 31.10.2014    source источник
comment
См. здесь: stackoverflow.com/questions/3664257/. Решение состоит в том, чтобы использовать реальную переменную, например ?var=31102014033349-3.   -  person jeroen    schedule 31.10.2014
comment
1. нигде в URL нет order_id 2. ничего после # не передается на сервер.   -  person AbraCadaver    schedule 31.10.2014
comment
@AbraCadaver 1. «# 31102014033349-3» — это идентификатор заказа. 2. я изменил order_id, чтобы он содержал только числа. До сих пор не может прочитать.   -  person Jeroen    schedule 31.10.2014
comment
@jeroen, так что вы говорите, что я должен использовать jquery, чтобы получить order_id? Я не думаю, что в этом случае можно использовать jquery.   -  person Jeroen    schedule 31.10.2014
comment
Используйте этот тип URL http://www.myawesomewebsite.com/return?order_id=31102014033349-3   -  person CS GO    schedule 31.10.2014
comment
Нет, запрос здесь не то слово. Вам нужно сгенерировать допустимую строку запроса, как в моем примере.   -  person jeroen    schedule 31.10.2014
comment
1. НЕТ 2. Перечитайте мой #2. Единственный способ сделать это с PHP - это то, как заявил @AncientGeek.   -  person AbraCadaver    schedule 31.10.2014
comment
@jeroen тьфу, неправильное толкование запроса .. мой плохой. попробую ваш пример. Дам тебе знать. Древний выродок, сообщит и вам   -  person Jeroen    schedule 31.10.2014
comment
ВТФ!?!? Здесь есть два @Jeroen? Мой мозг чуть не взорвался, пытаясь уследить за этим!   -  person AbraCadaver    schedule 31.10.2014
comment
@AbraCadaver ахахахахахах   -  person Jeroen    schedule 31.10.2014


Ответы (1)


<?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"];
person CS GO    schedule 31.10.2014
comment
Только что узнал $_GET['order_id']; делает свое дело. И, кстати, ваш вывод неверен. Запроса там нет (в моем случае). - person Jeroen; 31.10.2014