Как получить параметры URL после #???

Vit228

Новичок
Как получить параметры URL после #???

Уважаемый ALL,
положим мы получаем на вход ссылку типа www.website.ru/index.php?id=1#sub_id=2
Как средствами РНР получить значение sub_id=2 ???

На JS это делается при помощи document.location.hash

Заранее спасибо!
 

Gorynych

Посетитель PHP-Клуба
Vit228 если Вы получили в виде значения такую ссылку, то ответ baevа Вам поможет.

другое дело, что если Вы только хотите получить часть запроса к скрипту, после #, то средствами PHP напрямую это сделать не удастся, потому что эта часть запроса не содержится ни в REQUEST_URI, ни в QUERY_STRING и т.п. - см. ответ Фаната
 

kruglov

Новичок
Думаем логически: вы зашли на страницу aaa.ru/bbb.html. Там кликнули на ссылку #end, браузер прокрутил текст и показывает вверху адрес aaa.ru/bbb.html#end. Но делал ли он при этом запрос к серверу?
 

Sender

Новичок
Vit228
самое интересное, а зачем передавать данные по якорям?


kruglov
пользователь мог и скопировать ссылку с якорем, и соответственно запрос на сервер отправлялся с #
 

Sender

Новичок
hermit_refined
да, беру свои слова обратно, я неправ, проверил только что
запрос отправляется без #
 

Gorynych

Посетитель PHP-Клуба
Sender: пример использование якорей - подкачка полного текста вместо показанного анонса. Вполне такой, по-моему, актуальный ответ на вопрос "зачем передавать данные по якорям"

P.S. а что на самом деле нужно автору вопроса:

а) получить в скрипт значение якоря

ИЛИ

б) разобрать имеющееся значение URL с якорем?
 

Sender

Новичок
Gorynych
ммм, можно пример, не могу сообразить чем помогает якорь подкачивать полный текст...
 

Фанат

oncle terrible
Команда форума
Sender
речь идёт о клиентских технологиях.
не имеющих к обсуждаемому вопросу ни малейшего отношения

-~{}~ 30.03.07 13:55:

На этом форуме вообще очень популярны ответы типа "как можно придумать логическое объяснение дурацкому вопросу" или "какую реальную задачу можно притянуть за уши к этому вопросу по внешним признакам".
Осмысленность таких ответов для меня очень сомнительна, но остановить мозг хардкорного разработчика (для которого в принципе не существует вопроса "зачем это делать", а существует только "как сделать?"), наколько я понимаю, невозможно в принципе.
 

Sokil.Dmytro

Новичок
Vit228

ты бы лучше поставленную задачу тут написал а не метод решения. тогда тебе ды другой способ подсказали...
че мешает суб_ид перетянуть в запрос
 

Gorynych

Посетитель PHP-Клуба
Фанат не, ну лично я все еще надеюсь услышать уточнения от автора вопроса, который куда-то запропал по ходу обсуждения...
 

Vit228

Новичок
Прошу пардону, за отсутствие!

Суть вопроса: обрабатывать значения после "#" мне это нужно для AJAX.

Положим у меня есть каталог товаров, юзер заходит в него по ссылке - www.website.ru/index.php?id=1
Где id - номер категории, положим ноутбуки.

В шапке множество параметров выбора товаров(процессор, память итп).

Ниже идет сам информационный блок, в который я без перезагрузки страницы закидываю товары отвечающие выбранным условиям.

Вопрос состоит в том, что бы сохранить выбранные параметры в УРЛ, что бы юзер мог скопировать-сохранить ссылку, и вызвать ее в след.раз. Размещение кнопки "копировать ссылку" не предлагать ;)

Если параметры тупо пихать в конец УРЛ ч.з. & то ВСЯ страница перегружается.

Единственный выход который мне подсказали - это пихать все доп.параметры в УРЛ после # www.website.ru/index.php?id=1#param1=1&param2=2...

Все работает, вся страница не перегружается.
Сейчас я параметры после # разбираю при помощи JS, ну вот подумалось насчет возможсти сделать это при помощи РНР ;)

Надеюсь не слишком путанно все объяснил..

-~{}~ 31.03.07 14:32:

Я не большой знаток как все работает на низком уровне...
Подумалось, а может быть сам браузет на сервер не передает якоря?
Тогда и обсуждать нечего...
 

baev

‹°°¬•
Команда форума
Подумалось, а может быть сам браузет на сервер не передает якоря?
— просто-таки гениальное озарение.

Вообще-то, об этом в этом топике было несколько раз сказано.
Рекомендую к прочтению:
http://phpfaq.ru/na_tanke
 

dron4ik

Новичок
Vit228
передавай через GET, но чтобы не перегружалась страница
попробуй на onclick добавить "return false;"

Мне это помогло. И выглядело это примерно так:
<a href=# onclick="doLoad(36); return false;">
 
Сверху