Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Разбор URL и # анкер

Сообщения:  [1-10]   [11-14] 

 
 автор: ride   (17.11.2011 в 19:58)   письмо автору
 
   для: Tamplier   (12.11.2011 в 11:00)
 

а что в фугкцию передавать будем?

  Ответить  
 
 автор: Petter   (14.11.2011 в 23:36)   письмо автору
 
   для: cheops   (12.11.2011 в 00:37)
 

Спасибо, Сheops.
Я понял.
Действительно, серверу незачем знать про анкер, раз он не попадает в QUERY_STRING.
Достаточно того, что броузер помнит о том, о чём он запрашивал.
Сервер просто в таком случае отдаёт страницу.
Спасибо и всем остальным, кто ответил.

  Ответить  
 
 автор: Sfinks   (12.11.2011 в 18:01)   письмо автору
 
   для: Petter   (12.11.2011 в 02:19)
 

Не совсем верно!
Серверу вообще не передается анкер и он не в курсе, что в URL он изначально присутствовал. Анкер в урл управляет поведением браузера локально. Только браузера и только локально! Т.е. если адекватный браузер видит в УРЛ фрагмент #абракадабра, то он ищет в коде загруженной ХТМЛ страницы анкер с тем же названием и отматывает страницу в это место. Ну а раз уж сервер не знает про анкер, то ПХП и подавно =)

  Ответить  
 
 автор: Tamplier   (12.11.2011 в 11:00)   письмо автору
 
   для: AlexSol   (11.11.2011 в 20:47)
 

Да запросто - parse_url()
Вам нужно значение - fragment

http://php.su/functions/?f=parse-url&choice=info

  Ответить  
 
 автор: cheops   (12.11.2011 в 02:30)   письмо автору
 
   для: Petter   (12.11.2011 в 02:19)
 

Дело в том, что # даже не является допустимым символом для URL - его кодировать нужно, чтобы сервер его мог корректно получить.

  Ответить  
 
 автор: cheops   (12.11.2011 в 02:21)   письмо автору
 
   для: Petter   (12.11.2011 в 02:19)
 

Серверу тоже анкер не нужен, он нужен только браузеру, браузер, если он по-нормальному написан его отправлять никуда не будет. Все URL в которых используется #, как правило, обвешены JavaScript-кодом, который приводит URL к каноническому виду.

  Ответить  
 
 автор: Petter   (12.11.2011 в 02:19)   письмо автору
 
   для: cheops   (12.11.2011 в 00:37)
 

Спасибо, Cheops !
Т. е. если я правильно Вас понимаю, у сервера есть страница, или как-то иначе, в базе, данные об анкере и он их присылает протоколом, а вот PHP "не в курсе" и не хранит эти анкеры в переменных и не может этот поток передачи данных об анкере контролировать...

  Ответить  
 
 автор: cheops   (12.11.2011 в 00:37)   письмо автору
 
   для: Petter   (12.11.2011 в 00:28)
 

Штука в том, что PHP видит только то, что помещается в переменные окружения, а анкер в переменные окружения не попадает, поэтому вы не можете его извлечь на стороне сервера (хотя в ссылках можете его использовать без ограничений). Грубо говоря остается в браузере и браузер просто позиционирует страницу в соответствии с ним.

  Ответить  
 
 автор: Petter   (12.11.2011 в 00:28)   письмо автору
 
   для: Ильдар   (11.11.2011 в 20:45)
 

Вот это и составляет мой вопрос.

Ясное дело, что запрос, конечно, был со стороны броузера, и что сервер "понял" запрос и ответил, и у меня в этом и заключается вопрос.
Если сервер посылает данные об анкере, значит, он их имеет. Ещё бы он их не имел! Ведь эти данные о ссылке находятся на странице, которую он хранит! Вопрос-то в том, где он хранит данные об анкере, и можно ли к ним туда добраться скриптом, если мне надо, с помощью PHP ?
Наверное, есть какой-то массив этих анкеров... но что гадать... просто я не нашёл этого в спецификации PHP, поэтому и спросил.

А то, что потом делает броузер - об этом я не спрашивал, это ясно.

  Ответить  
 
 автор: AlexSol   (11.11.2011 в 20:47)   письмо автору
 
   для: Petter   (11.11.2011 в 19:48)
 

это в браузер заложено. в php значение после # не получить

  Ответить  

Сообщения:  [1-10]   [11-14] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования