[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Фиксация выбора
Fess
Друзья, подскажите как обычно поступают в таком случае:

Есть файл shapka.php, в нем пишу такой код:

<form action="index.php" method="get" >
<
select name="metall">
<
option value="00">Не указано</option>
<
option value="01">Золото 585</option>
<
option value="02">Платина 925</option>
</
select>
<
input type="submit" name="bsubmit" value="Применить" />
</
form>


соответственно получаю: index.php?metall=00
но при переходах далее по страницам index.php (рубрики каталога ювелирных изделий) значение параметра metall теряется. Соответственно вопрос: как его зафиксировать в форме выбора и передавать далее по всем страницам?

п.с: shapka.php подгружается на каждой странице index.php



Спустя 1 минута, 42 секунды (25.09.2012 - 13:17) m4a1fox написал(а):
Записываешь значение в сессию, в потом проверяешь... если есть такая то - то ставишь галочку.

Спустя 35 минут, 50 секунд (25.09.2012 - 13:53) killer8080 написал(а):
if(isset($_GET'metal']))
setcookie('metal', $_GET['metal']);


<option value="00"<?=(isset($_COOKIE['metal']) && $_COOKIE['metal'] == '00' ? ' selected="selected"' : '')?>>Не указано</option>
<option
value="01"<?=(isset($_COOKIE['metal']) && $_COOKIE['metal'] == '01' ? ' selected="selected"' : '')?>>Золото 585</option>
<option
value="02"<?(=isset($_COOKIE['metal']) && $_COOKIE['metal'] == '02' ? ' selected="selected"' : '')?>>Платина 925</option>

Спустя 45 минут, 25 секунд (25.09.2012 - 14:38) ИНСИ написал(а):
Цитата
соответственно получаю: index.php?metall=00

Куки не надо создавать. Ты ведь получаешь в строке значение metall. Если у тебя постраничная навигация, то добавь это значение туда )))

А в форме должно быть так:

<option value="00">Не указано</option>
<
option value="01" <?=isset($_GET['metall']) && $_GET['metall'] == '01' ? 'seleced="selected"' : ''?>>Золото 585</option>
<
option value="02" <?=isset($_GET['metall']) && $_GET['metall'] == '02' ? 'seleced="selected"' : ''?>>Платина 925</option>

Спустя 39 секунд (25.09.2012 - 14:39) Fess написал(а):
большое спасибо за ответы, все-таки записывал в сессию

Спустя 3 минуты, 50 секунд (25.09.2012 - 14:42) killer8080 написал(а):
Цитата (ИНСИ @ 25.09.2012 - 14:38)
Куки не надо создавать. Ты ведь получаешь в строке значение metall.

Да, но потом он ходит по другим ссылкам, на каждой странице висит этот селект, с предыдущим выбором. Так что, либо куки, либо сессии.

Спустя 17 минут, 6 секунд (25.09.2012 - 15:00) Fess написал(а):
Еще вопрос: выбираю нужный вариант, жму применить, перекидывает на основную страницу каталога -> index.php?metal=02, как сделать, чтобы текущая страница осталась на месте?
Точнее мне надо чтобы еще два параметра остались -> index.php?grp=01&gem=1
Т.е.: grp и gem, при этом номер страницы не передался, т.к. при отсеве такой страницы уже может не быть (index.php?grp=0131&gem=5&pg=1)

Спустя 2 минуты, 6 секунд (25.09.2012 - 15:02) ИНСИ написал(а):
killer8080 С Куки и Сессией тоже работать будет, но правильнее я думаю будет использовать именно саму переменную ))

А по переходам на другие страницы:
Цитата
Если у тебя постраничная навигация, то добавь это значение туда )))


Спустя 2 минуты, 21 секунда (25.09.2012 - 15:04) ИНСИ написал(а):
Создай еще 2 спрятанных поля в форме, как пример:
<input type="hidden" value="<?=isset($_GET['gem']) ? (int)$_GET['gem'] : ''?>" name="gem" />

Спустя 2 минуты, 50 секунд (25.09.2012 - 15:07) killer8080 написал(а):
Цитата (ИНСИ @ 25.09.2012 - 15:02)
но правильнее я думаю будет использовать именно саму переменную ))

Хранить юзерскую настройку в урл? Считаешь так лучше?

Спустя 3 часа, 5 минут, 5 секунд (25.09.2012 - 18:12) Игорь_Vasinsky написал(а):
хранить всё в бд)))
урл - не выход
куки отключены.

Спустя 16 часов, 5 минут, 36 секунд (26.09.2012 - 10:17) ИНСИ написал(а):
Цитата
Хранить юзерскую настройку в урл? Считаешь так лучше?

Я не думаю что это настройка юзерская. Я думаю это как фильтр. Человек настраивает фильтр вывода. Поэтому считаю лучше использовать в урл.

Спустя 1 минута, 13 секунд (26.09.2012 - 10:19) ИНСИ написал(а):
Игорь_Vasinsky
Лучше на почту выслать ))))

Спустя 7 минут, 18 секунд (26.09.2012 - 10:26) killer8080 написал(а):
ИНСИ
у него это селект висит на всех страницах. Я так понял, нужно чтобы юзер один раз выбрал, а потом при навигации по сайту, этот выбор сохранялся. Не думаю, что пихать переменную во все ссылки на сайте, хорошая идея.

Спустя 3 часа, 42 минуты, 24 секунды (26.09.2012 - 14:08) ИНСИ написал(а):
killer8080 если у ТС стоит задача сохранить значение выборки пользователя и в дальнейшем использовать выбранное значение, то БД или Куки. Куки - опять таки будет не лучшим решением.

Если у ТС фильтр, типа Расширенный поиск, то урл. Я к тому, что к каждой задаче надо найти свое решение. Я думаю это фильтр, поэтому и говорю про урл.

Спустя 33 минуты (26.09.2012 - 14:41) killer8080 написал(а):
Цитата (ИНСИ @ 26.09.2012 - 14:08)
Если у ТС фильтр, типа Расширенный поиск, то урл. Я к тому, что к каждой задаче надо найти свое решение. Я думаю это фильтр, поэтому и говорю про урл.

в задаче об этом ничего сказано не было
Цитата (Fess @ 25.09.2012 - 13:15)
но при переходах далее по страницам index.php (рубрики каталога ювелирных изделий) значение параметра metall теряется. Соответственно вопрос: как его зафиксировать в форме выбора и передавать далее по всем страницам?

п.с: shapka.php подгружается на каждой странице index.php

исходя из вопроса, видимо все таки
Цитата (ИНСИ @ 26.09.2012 - 14:08)
если у ТС стоит задача сохранить значение выборки пользователя и в дальнейшем использовать выбранное значение, то БД или Куки

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.