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


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

> Без описания
psevdo
Отправлено: 12 Августа, 2013 - 08:06:12
Post Id



Гость


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


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




Всем привет. Не могу справиться с задачей, поэтому прошу помочь разобраться с алгоритмом. Задача такая. Есть некий продукт с некими характеристиками. Для уточнения возьмем "Книга". Выделим такие параметры:
1) год издания
2) кол-во страниц
3) название

Есть три страницы.
1. Главная. Здесь имеется форма для поиска книг по параметрам.
2. Каталог. Переход с главной страницы по параметрам поиска. На этой странице также имеется форма с теми же параметрами.
3. Товар. Переход со страницы каталог.

Мне нужно организовать хлебные крошки. Т.е. перешли мы на вторую страницу с определенными параметрами (они передаются методом POST). Далее идем на страницу товара. А вот с нее нужно снова перейти на вторую страницу, но должны учитываться предыдущие параметры.

Задача вроде примитивная. Но у меня то с одной стороны проблема, то с другой. Подскажите пожалуйста, как вы решаете такую задачу.
 
 Top
avtor.fox
Отправлено: 12 Августа, 2013 - 08:46:29
Post Id



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


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


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




Странно, что Вы используете для поиска метод POST. Что такое POST, GET и в чём их различие (в использовании, например) — знаете? Так вот, меняйте на GET, а кнопку "назад" в хлебных крошках уже можно будет делать без проблем.

CODE (text):
скопировать код в буфер обмена
  1. http://site.com/catalog?page=2&search=?

И передавайте, что душе угодно.
 
 Top
sheff2000
Отправлено: 12 Августа, 2013 - 08:46:50
Post Id


Новичок


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


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




psevdo пишет:
Мне нужно организовать хлебные крошки. Т.е. перешли мы на вторую страницу с определенными параметрами (они передаются методом POST). Далее идем на страницу товара. А вот с нее нужно снова перейти на вторую страницу, но должны учитываться предыдущие параметры.


Так как ты передаешь параметры методом POST, то возникает одна небольшая трудность - у тебя есть один адрес страницы каталога (например http://site.com/catalog/), в не зависимости введены параметра поиска или нет.
Поэтому, по умолчанию, ты не можешь вернутся на страницу каталога с определенными параметрами. Вводил ты параметры или нет, адрес страницы каталога все равно будет http://site[dot]com/catalog/

Чтобы быстро просто построить хлебные крошки, нужно иметь уникальный адрес страницы для каждого параметра поиска или их комбинаций. Тогда ты в любой момент можешь обратится в нужной страницы с нужным набором книг.
Например, адрес страницы каталога без параметров поиска - http://site[dot]com/catalog/
адрес страницы с заданным параметром "год издания = 2000" - http://site[dot]com/catalog/?yy=2000

надеюсь понятна моя мысль ... - передавать параметры поиска не POST, а GET запросом, ну или использовать оба варианта.

тогда построение хлебных крошек будет примерно таким:
1. Тебе нужно где то сохранять параметры поиска - в куках, сессии .. чтобы использовать их на странице "Товар".
2. На странице "Товар" анализируй наличие или отсутствие сохраненных параметров поиска
3. Если параметров нет (сразу попали на страницу товара), то "крошки" строй как то так:
Главная - каталог (без фильтра) - название текущего товара
4. Если параметры поиска есть, то :
Главная - каталог + параметры поиска методом GET (?yy=2000 - год издания 2000г) - название открытого товара
 
 Top
psevdo
Отправлено: 12 Августа, 2013 - 09:04:03
Post Id



Гость


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


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




Дело в том, что у меня два параметра передаются массивом.
 
 Top
_Dark_
Отправлено: 12 Августа, 2013 - 09:08:02
Post Id


Частый гость


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


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

[+]


psevdo пишет:
Дело в том, что у меня два параметра передаются массивом.

Ну так сделайте так, чтобы все нормально передавалось через GET.
В чём проблема то.
 
 Top
psevdo
Отправлено: 12 Августа, 2013 - 09:12:39
Post Id



Гость


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


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




_Dark_ пишет:
psevdo пишет:
Дело в том, что у меня два параметра передаются массивом.

Ну так сделайте так, чтобы все нормально передавалось через GET.
В чём проблема то.


Ну вот допустим у меня есть такие параметры:
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <input type="text" name="param[]" value="1" />
  3. <input type="text" name="param[]" value="2" />
  4. <input type="text" name="param[]" value="3" />
  5. <input type="text" name="param[]" value="4" />
  6.  


Как мне это передать через GET? Подскажите.
 
 Top
_Dark_
Отправлено: 12 Августа, 2013 - 09:15:10
Post Id


Частый гость


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


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

[+]


Ну у формы method поставьте GET и массив отлично передастся.
 
 Top
psevdo
Отправлено: 12 Августа, 2013 - 09:19:48
Post Id



Гость


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


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




_Dark_ пишет:
Ну у формы method поставьте GET и массив отлично передастся.


И правда. У меня как то проблемы были. И с тех пор с считаю, что гетом нельзя передавать массивы)

Адреса правда получаются некрасивые.
 
 Top
_Dark_
Отправлено: 12 Августа, 2013 - 09:22:46
Post Id


Частый гость


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


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

[+]


psevdo пишет:

Адреса правда получаются некрасивые.

Для поиска это стандартная ситуация.
Только зачем вам массивы?
 
 Top
avtor.fox
Отправлено: 12 Августа, 2013 - 09:22:53
Post Id



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


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


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




psevdo пишет:
Адреса правда получаются некрасивые.

ЧПУ Вам в руки.
 
 Top
psevdo
Отправлено: 12 Августа, 2013 - 09:33:28
Post Id



Гость


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


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




_Dark_ пишет:
psevdo пишет:

Адреса правда получаются некрасивые.

Для поиска это стандартная ситуация.
Только зачем вам массивы?


А как бы вы сделали? Допустим есть параметр жанр. Значения: рекламный, обзорный и пр.
 
 Top
_Dark_
Отправлено: 12 Августа, 2013 - 09:40:02
Post Id


Частый гость


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


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

[+]


psevdo пишет:
_Dark_ пишет:
psevdo пишет:

Адреса правда получаются некрасивые.

Для поиска это стандартная ситуация.
Только зачем вам массивы?


А как бы вы сделали? Допустим есть параметр жанр. Значения: рекламный, обзорный и пр.

Ну, два поля, один выпадающий список, другое - название. Без массива.

Но а вообще, по другому вроде никак и не сделаешь.
Да и для поиска красивые адреса не особо нужны, я думаю.
 
 Top
avtor.fox
Отправлено: 12 Августа, 2013 - 09:40:56
Post Id



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


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


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




Чел, харэ меня игнорить. Я обижусь Закатив глазки

CODE (html):
скопировать код в буфер обмена
  1. <form method='GET'>
  2.         <select name='genre'>
  3.                 <option value='promo'>Рекламный</option>
  4.                 <option value='childish'>Детский</option>
  5.         </select>
  6.         <input type='submit'>
  7. </form>
 
 Top
psevdo
Отправлено: 12 Августа, 2013 - 09:47:39
Post Id



Гость


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


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




avtor.fox пишет:
Чел, харэ меня игнорить. Я обижусь Закатив глазки

CODE (html):
скопировать код в буфер обмена
  1. <form method='GET'>
  2.         <select name='genre'>
  3.                 <option value='promo'>Рекламный</option>
  4.                 <option value='childish'>Детский</option>
  5.         </select>
  6.         <input type='submit'>
  7. </form>


А понял) Нет, мне это не покатит. Тут тонкости дизайна)
 
 Top
avtor.fox
Отправлено: 12 Августа, 2013 - 09:48:33
Post Id



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


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


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




psevdo пишет:
А понял) Нет, мне это не покатит. Тут тонкости дизайна)

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


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB