Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как вывести в адресной строке то что после знака #

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
arsen4ik
Отправлено: 29 Января, 2013 - 19:29:08
Post Id



Новичок


Покинул форум
Сообщений всего: 43
Дата рег-ции: Дек. 2012  


Помог: 0 раз(а)




Здравствуйте! Я опять пришел жаловаться на тупизм разработчиков. На это раз Mail с их OAuth. Разработчики явно не долюбливают PHP.
Например, мне нужно получить параметры после авторизации в Mail.Ru через OAuth.
Для JS программистов они сделали все сладко да гладко.
Если нужен ответ авторизации, то есть необходимые данные (токен, ключи и т.д) приходят данные в таком виде
CODE (htmlphp):
скопировать код в буфер обмена
  1. http://example.com/oauth/receiver#
  2.    refresh_token=b45529ac9bf6b32be761975c043ef9e3&
  3.   access_token=b6442ed12223a7d0b459916b8ea03ce5&
  4.   token_type=bearer&
  5.   code=cfb65617ee147446cb17fba30b2fdc5e

Как вы поняли это для обработчика на JavaScript, теперь мне нужно получить GET параметры чтобы их обработать, но вместо того чтобы вернуть те же данные через знак ? вместо # они предлагают следующее
Цитата:
В этом случае результат авторизации выозвращается в виде GET-параметров, чтобы вы сразу имели к ним доступ с сервера, например, так:
http://example.com/oauth/receiver?
code=cfb65617ee147446cb17fba30b2 fdc5e
Обменяйте полученный авторизационный код на идентификатор сессии, который вы сможете использовать для доступа к REST API. Для этого с сервера сделайте следующий POST-вызов на адрес https://connect.mail.ru/oauth/token:
> POST /oauth/token HTTP/1.1
> Host: connect.mail.ru
> Accept: */*
> Content-Length: 186
> Content-Type: application/x-www-form-urlencode d
>
> client_id=464119&
client_secret=ac7fd2cc742c70a707cad3f6b2ca1c89&
grant_type=authorization_code&
code=000ff8627d2d79b60ebdaf004f9a68aa&
redirect_uri=http://example[dot]com/oauth/receiver

Понятное дело что хочется как то обойти этот дибилизм.
Как я понял решается это 2 путями.
1) либо как то перехватить редирект и поменять символ # на ?
2) или получить всю строчку, только вот как? $_SERVER['REQUEST_URI'] не видит то что после знака #
Пожалуйста предложите какие нибудь способы для этих двух вариантов.

(Отредактировано автором: 29 Января, 2013 - 19:40:27)

 
 Top
Исильдур
Отправлено: 29 Января, 2013 - 20:14:43
Post Id


Гость


Покинул форум
Сообщений всего: 68
Дата рег-ции: Март 2012  


Помог: 1 раз(а)




$_SERVER['QUERY_STRING'] - пробовали?
 
 Top
arsen4ik
Отправлено: 29 Января, 2013 - 20:18:39
Post Id



Новичок


Покинул форум
Сообщений всего: 43
Дата рег-ции: Дек. 2012  


Помог: 0 раз(а)




Да, этот знак # - оказывается означает якорь для JS программистов, и он не передается на сервер, то есть получить его PHP скриптов невозможно. Тему можно закрывать.

(Отредактировано автором: 29 Января, 2013 - 20:19:05)

 
 Top
Исильдур
Отправлено: 29 Января, 2013 - 20:21:27
Post Id


Гость


Покинул форум
Сообщений всего: 68
Дата рег-ции: Март 2012  


Помог: 1 раз(а)




Как раз из PHP скриптов получить все возможно))


PS sorry, что "на сервер не передается" пропустил....

(Отредактировано автором: 29 Января, 2013 - 20:24:41)

 
 Top
esterio
Отправлено: 29 Января, 2013 - 20:23:39
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




Исильдур
Не возможно напрямую.

Тоесть если я надошлю запрос http://example[dot]com/page.php?var=value#somevalue

то somevalue я не увижу
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB