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 :: Ссылка "назад" через _SERVER["HTTP_REFERER"]
Покинул форум
Сообщений всего: 19
Дата рег-ции: Май 2013
Помог: 0 раз(а)
Zuldek пишет:
Ссылка "Назад" никогда не делается через $_SERVER["HTTP_REFERER"]
javascript:history.go(-1) ?
Zuldek
Отправлено: 23 Августа, 2013 - 15:50:35
Постоянный участник
Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010
Помог: 50 раз(а)
и снова мимо.
Передаются параметры "Предыдущая страница" и "Следующая страница", первая, в зависимости от логики вашей навигации, содержит либо страницу с которой перешел пользователь на текущую, либо страницу выше по иерархической структуре сайта.
Почему все так сложно?
Потому, что $_SERVER['HTTP_REFERER'] есть не обязательный параметр, который вам клиент может и не передать, что вызовет ошибку вашего приложения. К тому же, нужно помнить о том, что для простой логики перехода на предыдущую страницу в браузере есть свои инструменты и их дублировать на сайте для пользователя нет смысла (не путать с навигационной строкой, в простонародье "крошкой").
Покинул форум
Сообщений всего: 19
Дата рег-ции: Май 2013
Помог: 0 раз(а)
Zuldek пишет:
Потому, что $_SERVER['HTTP_REFERER'] есть не обязательный параметр, который вам клиент может и не передать, что вызовет ошибку вашего приложения
ну для этого проверка и делается
IllusionMH
Отправлено: 23 Августа, 2013 - 16:33:40
Активный участник
Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011 Откуда: .kh.ua
Помог: 242 раз(а)
domen4you, вчера тоже делал кнопку назад. Как думаете, как быстро вы попадете в замкнутый круг если на всех страницах будет эта кнопка "назад"?
Как писали выше
Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010
Помог: 50 раз(а)
Осталось только понять зачем
domen4you
Отправлено: 23 Августа, 2013 - 17:00:35
Новичок
Покинул форум
Сообщений всего: 19
Дата рег-ции: Май 2013
Помог: 0 раз(а)
IllusionMH пишет:
как быстро вы попадете в замкнутый круг если на всех страницах будет эта кнопка "назад"?
не на всех, конечно) (Добавление)
IllusionMH пишет:
javascript:history.go(-1) ?
в логах сервера при таком подходе поисковик ищет файл с таким названием в текущей папке и естественно не находит
[Fri Aug 23 08:11:41 2013] [error] [client 85.26.234.166] File does not exist: /var/.../www/sait.ru/papka/javascript:history.go(-1) (Добавление)
Zuldek пишет:
Осталось только понять зачем
элемент навигации, сайт мобильный
esterio
Отправлено: 23 Августа, 2013 - 17:18:52
Активный участник
Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012 Откуда: Украина, Львов
Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011 Откуда: .kh.ua
Помог: 242 раз(а)
domen4you, на чем тестировали? Лично я навесил событие на ссылку и все ок.
И не нужно писать это в href, для событий лучше использовать соответствующие атрибуты (onclick), а еще лучше навесить обработчик отдельно.
Можно примерно так
Покинул форум
Сообщений всего: 19
Дата рег-ции: Май 2013
Помог: 0 раз(а)
IllusionMH пишет:
domen4you, на чем тестировали? Лично я навесил событие на ссылку и все ок.
у меня тоже ок, но в логах таких записей достаточно много (Добавление)
IllusionMH пишет:
Можно примерно так
я пока-то PHP не очень, а яваскрипт вообще тёмный лес)
там было условие ещё проверки откуда переход, если с яндекса, например переход, то ссылка "назад" не нужна. JS в состоянии это учесть?
IllusionMH
Отправлено: 23 Августа, 2013 - 20:57:13
Активный участник
Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011 Откуда: .kh.ua
Помог: 242 раз(а)
domen4you, ссылка назад должна быть ссылкой назад. Эта функция аналогична нажатию кнопки браузера, и я б обиделся если б получил другой результат. Если не ошибаюсь то со стороны JS этого проверить нельзя из-за политик безопасности.
domen4you пишет:
у меня тоже ок, но в логах таких записей достаточно много
Я же говорю, вы неправильно делаете! За href="javascript:someaction()" нужно бить по рукам. Прочтите хоть чуть-чуть про JS и навешивание событий. Уж лучше
Покинул форум
Сообщений всего: 19
Дата рег-ции: Май 2013
Помог: 0 раз(а)
IllusionMH пишет:
Я же говорю, вы неправильно делаете! За href="javascript:someaction()" нужно бить по рукам
да, стояло так, пока в логах не увидел ошибки. Но такой вариант тоже где-то ведь вычитал, не мог я такое сам придумать) (Добавление)
IllusionMH пишет:
domen4you, ссылка назад должна быть ссылкой назад.
она ей и остаётся, просто показывается не во всех случаях. Большей частью это качается вопросов SEO и посещения сайта роботами, как раз им я ссылку и не хочу показывать. Пока то что я на php слепил вроде работает, ошибки в логах исчезли.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.