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 Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: Переход по предыдущим ссылкам
n1k86
Отправлено: 25 Января, 2012 - 12:01:25
Post Id


Частый гость


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


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




Привет всем, ребят. Столкнулся с такой проблемой. На каждой странице не удобно постоянно писать ссылки для возвращения на предыдущие страницы. Поэтому хотелось бы автоматизировать данный момент. В гугле подобной информации не нашёл, либо плохо искал...на форуме тут тоже...прошу о помощи.
Нужно типа:
Я на главной. Перешёл в чат, и появилась ссылка "На главную". Дальше я перешёл в комнату Спорт, и у меня уже 2 ссылки "На главную > Комнаты чата". Дальше я перешёл по ссылке добавления сообщений, и у меня уже 3 ссылки: "На главную > Комнаты чата > Спорт".

Ну думаю понятно...через реферер не вариант делать, т.к. не все браузеры его отправляют...что довольно плохо...был ещё вариант писать на каждом сайте переменную, заносить в БД, либо в куки, и выводить...но это не вариант тоже, т.к. объём был бы большой...

Подскажите оптимальную идею...пожалуйста!
 
 Top
Самогонщик
Отправлено: 25 Января, 2012 - 12:12:00
Post Id



Посетитель


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


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




Гугли "хлебные крошки".
 
 Top
n1k86
Отправлено: 25 Января, 2012 - 12:12:45
Post Id


Частый гость


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


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




Спасибо))) Сейчас почитаем!))
 
 Top
Zuldek
Отправлено: 25 Января, 2012 - 12:12:56
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


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




Искали очень плохо.
реализуется через построение древовидной архитектуры сайта, когда в бд хранится родительский раздел для каждой страницы. Если хотите сделать не обозначение иерархии а отслеживать с какой страницы на какую перешли независимо от их иерархии то передавайте id страницы при каждом переходе, записывая их в сессию или через GET. Имея id выстраивайте ссылку на эту страницу в ваших хлебных крошках.
 
 Top
n1k86
Отправлено: 25 Января, 2012 - 12:22:36
Post Id


Частый гость


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


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




Почитал, почитал. Хлебные крошки эти самые, идут для wp. а в wp чего только не напихано в код. я пишу без ооп и смарти. поэтому мне трудно разобрать то что там. мне нужно решение для обычной процедурке...
 
 Top
Zuldek
Отправлено: 25 Января, 2012 - 12:26:14
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


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




n1k86 пишет:
Почитал, почитал. Хлебные крошки эти самые, идут для wp. а в wp чего только не напихано в код. я пишу без ооп и смарти. поэтому мне трудно разобрать то что там. мне нужно решение для обычной процедурке...

хлебные крошки это общее сленговое, если хотите, наименование для навигационных строчек вида "главная>страница1>страница2>страница3".
Как это реализуется я написал, ооп и шаблонизатор тут непричем.
 
 Top
n1k86
Отправлено: 25 Января, 2012 - 12:27:10
Post Id


Частый гость


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


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




Передача гет-запроса это извращение. Ладно, пойду ещё пороюсь. Может чего ещё узнаю.
 
 Top
armancho7777777 Супермодератор
Отправлено: 25 Января, 2012 - 12:33:43
Post Id



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


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


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




Думаю, разобрав $_SERVER['REQUEST_URI'] можно добиться того же результата.
Вот грубый пример без проверок:
PHP:
скопировать код в буфер обмена
  1.  
  2. if(!empty($_SERVER['REQUEST_URI'])){
  3.  
  4. $arrLink = explode('/', trim($_SERVER['REQUEST_URI'], '/'));
  5.  
  6. echo '<a href="/'.$arrLink[0].'">Главная</a>
  7.       <a href="/'.$arrLink[0].'/'.$arrLink[1].'">Раздел1</a>
  8.       <a href="/'.$arrLink[0].'/'.$arrLink[1].'/'.$arrLink[2].'">Раздел1.1</a>';
  9.  
  10. }
  11.  

(Отредактировано автором: 25 Января, 2012 - 12:44:02)

 
 Top
n1k86
Отправлено: 25 Января, 2012 - 12:49:35
Post Id


Частый гость


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


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




$_SERVER['REQUEST_URI'] можно, но опять же придёться делать большую таблицу значений в базе для каждого файла. А это разве норм? Нет. Нужно что-то простое...но вот как реализовать не могу понять...в интернете уже кучу информации просмотрел...всё основывается на создании таблицы, но это очень жестко, т.к. получается каждый раз нужно вносить значения в бд о новом файле. Разве это норм? Я считаю, что нет.
 
 Top
Zuldek
Отправлено: 25 Января, 2012 - 12:52:30
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


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




n1k86 пишет:
$_SERVER['REQUEST_URI'] можно, но опять же придёться делать большую таблицу значений в базе для каждого файла. А это разве норм? Нет. Нужно что-то простое...но вот как реализовать не могу понять...в интернете уже кучу информации просмотрел...всё основывается на создании таблицы, но это очень жестко, т.к. получается каждый раз нужно вносить значения в бд о новом файле. Разве это норм? Я считаю, что нет.


Вам так или иначе придется вносить эти значения. Отличии в вариантах реализации лишь в том где вы их будете хранить - в базе данных, в сессии, либо передавать со страницы на страницу get/post/request.

в 90% проектов это реализуется с хранением связей разделов в бд. сложного в этом ничего нет.

(Отредактировано автором: 25 Января, 2012 - 12:53:46)

 
 Top
armancho7777777 Супермодератор
Отправлено: 25 Января, 2012 - 12:57:54
Post Id



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


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


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




n1k86 пишет:
но опять же придёться делать большую таблицу значений в базе для каждого файла. А это разве норм?

Кто Вам такое сказал???))
Тоже не любим лёгких путей?))
Не надо ничего никуда записывать и хранить блин.
Адресная строка всега под рукой.
После перехода на страницу вытаскиваете нужные Вам значения из строки, и всего лишь.
 
 Top
n1k86
Отправлено: 25 Января, 2012 - 12:58:27
Post Id


Частый гость


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


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




Сейчас распишу что я надумал. А вы поправьте, пожалуйста!
 
 Top
armancho7777777 Супермодератор
Отправлено: 25 Января, 2012 - 13:00:23
Post Id



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


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


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




Если адресная строка такого вида:
http://forum.php.su/раздел1/разд...л1.2/раздел1.2.1
Вы не сможете реализовать то, что Вам надо имнно тем спосабом, что я Вам предложил???)))
Готовые хлебные крошки уже в ней.
Видно же какой раздел после какого идет, и с какого перешёл посетитель.

(Отредактировано автором: 25 Января, 2012 - 13:02:26)

 
 Top
n1k86
Отправлено: 25 Января, 2012 - 13:03:15
Post Id


Частый гость


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


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




Допустим мы берём базу данных MySQL. Я создаю табличку...с id, url, title, где:
id - просто инкремент;
value - значение из адресной строки;
title - текст, который выводим;
url - ссылка;

Теперь мне нужно занести все родительские папочки и на что их заменять. Как правило, можно же брать прям из заголовка текст, который мы будем выводить, так? Допустим, заносим в таблицу значение, где:
id = 1;
value = chat;
title = Чат;
url = /chat/;

Теперь, ну будем работать через $_SERVER['REQUEST_URI'], например...
Я получаю из $_SERVER['REQUEST_URI'] например текст такого вида:
/chat/index.php

Обрабатываю этот текст, чтобы получить именно родительский текст chat.

После получания, ищу в таблице такой value, выбираю его значение title и url. Далее вывожу его значение как ссылку, вида:
<a href='$url'>$title</a>

Всё правильно? Может что поправите?

(Отредактировано автором: 25 Января, 2012 - 13:04:29)

 
 Top
Zuldek
Отправлено: 25 Января, 2012 - 13:08:18
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


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




armancho7777777 пишет:
Если адресная строка такого вида:
http://forum.php.su/раздел1/разд...л1.2/раздел1.2.1
Вы не сможете реализовать то, что Вам надо имнно тем спосабом, что я Вам предложил???)))
Готовые хлебные крошки уже в ней.
Видно же какой раздел после какого идет, и с какого перешёл посетитель.

Автор указал, что ему нужно выводить в навигационной строке не иерархию ссылок на страниц, но историю переходов. Главная>чат>написать может быть не равносильно главная/чат/написать. Историю переходов надо где-то хранить. об этом и речь.

(Отредактировано автором: 25 Января, 2012 - 13:08:47)

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


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB