Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 18.08.2013
Сообщений: 4

<SELECT> и COOKIES

27.08.2013, 14:38. Показов 3392. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет

Есть элементарная форма:

HTML5
1
2
3
4
5
6
7
8
9
10
<form id="form1" action="index.php" method="GET">
   <select name="param">
      <option value="1">Один</option>
      <option value="2">Два</option>
      <option value="3">Три</option>
      <option value="4">Четыре</option>
      <option value="5">Пять</option>
   </select>
   <input type=submit>
</form>
Как сделать, чтобы в куки хранился индекс выбранного пункта в select, и выбирался при загрузке страницы.
Знаю-знаю, море тем на форуме и т.д. Но тем не менее я уже полдня не могу решить эту проблему.

Что я нашел:
Приводить каждый пункт к такому виду:
HTML5
1
<option value="1" <?if(isset($_GET['param']) and 1==$_GET['param']):?>selected="selected"<?endif?>>Один</option>
При submit'е страница перезагружается и в select'е выбранный ранее элемент. Замечательно. Но мне нужно, чтобы это хранилось в cookies. Попробовал: написал в php-файл setcookie('param',$param); и сверял как в примере выше, только сравнивал с $_COOKIE['param']. Не работает.

Огромная просьба, подскажите чайнику как это реализовать.
И ещё хотелось бы не прибегать к JS.
Ах да, как более грамотно сделать, если размер select'а несколько сотен элементов.
Заранее огромное СПАСИБО!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.08.2013, 14:38
Ответы с готовыми решениями:

Сохранение значения select и работоспособность второго select после отправки формы
Добрый вечер!Есть проблемка-не могу сохранить значение селекта,сохранив работоспособность др.селектов после отправки формы....страну...

Как при изменении одного <select> подгрузить в другой <select> данные...
Как при изменении одного &lt;select&gt; подгрузить в другой &lt;select&gt; данные... пример: с марками машин. При выборе 'TOYOTA'...

При выборе элемента в <select> менять содержимое другого <select>
Может кто-то подсказать. У меня есть select на форме. Например: &lt;select name=day_s size=1&gt; &lt;option value=1&gt; Понедельник &lt;/...

4
 Аватар для fa2m
356 / 280 / 22
Регистрация: 27.08.2012
Сообщений: 855
27.08.2013, 14:45
Цитата Сообщение от Дмитрий Некий Посмотреть сообщение
Ах да, как более грамотно сделать, если размер select'а несколько сотен элементов.
Занести все данные селекта в массив, который и будет формировать все селекты для вида, и в этой формировке в зависимости от $_GET['param'] ставить selected="selected"
0
0 / 0 / 0
Регистрация: 18.08.2013
Сообщений: 4
28.08.2013, 00:07  [ТС]
fa2m, Спасибо. Может подскажете касательно основной проблемы?
В начале страницы вставил: SetCookie('PRM',$_GET['param']);
В <option> вставил: <?if($_COOKIE['PRM']==1):?>selected="selected"<?endif?> соответственно меняя 1 на то, что в value.

Как это работает:
1) Отправляю форму.
2) select сбрасывается.(выбран первый элемент)
3) Обновляю страницу -> Выбран тот, что нужен.

Очень хочу убрать 2-ой пункт. Чтобы сразу был выбран элемент из куки.
0
 Аватар для fa2m
356 / 280 / 22
Регистрация: 27.08.2012
Сообщений: 855
28.08.2013, 00:10
код весь покажите
0
0 / 0 / 0
Регистрация: 18.08.2013
Сообщений: 4
28.08.2013, 10:20  [ТС]
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php SetCookie('PRM',$_GET['p1']); ?>
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<form id="f1" action="index.php" method="GET">
   <select name="p1">
      <option value="1" <?if($_COOKIE['PRM']==1):?>selected="selected"<?endif?>>1</option>
      <option value="2" <?if($_COOKIE['PRM']==2):?>selected="selected"<?endif?>>2</option>
      <option value="3" <?if($_COOKIE['PRM']==3):?>selected="selected"<?endif?>>3</option>
      <option value="4" <?if($_COOKIE['PRM']==4):?>selected="selected"<?endif?>>4</option>
      <option value="5" <?if($_COOKIE['PRM']==5):?>selected="selected"<?endif?>>5</option>
   </select>
   <input type=submit>
</form>
 
<?php
$p1 = $_GET['p1'];
if ($p1<>'')
{
   include $p1.'.txt';
}
else
{
echo 'Ошибка...';
}
?>
</body>
</html>
Добавлено через 10 часов 0 минут
fa2m,
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.08.2013, 10:20
Помогаю со студенческими работами здесь

Обработчик для выпадающего списка <select></select>
Всем добрый день такой вопрос- пишу админку и на странице добавления товара была такая форма &lt;div...

Cookies
В настройках хостинга указано доменное имя site.ru и псевдоним www.site.ru из-за этого на сайте создается 2 набора cookies в зависимости от...

Cookies
Обьясню ситуацию: При переходе на страницу в куки записываются данные о посещаемой странице и добавляется +1. При последующем...

Виды cookies
Какие виды cookies существует? какие например можно использовать для социальной сети?

Работа с COOKIES
Интересует , сколько можно сохранить текста в куках ? в кириллице , если я не ошибаюсь то максимальный размер 4 килобайта (это я про кром ,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3 из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru