Есть такое понятие как корзина. Я под этим понимаю складирование информации о конкретном товаре, к которой потом можно вернуться и пакетно обработать. А вот если единица "товара" - это набор выбранных пользователем параметров? То есть человек навыбирал из формы те параметры, которые ему нужны. Оформил заявку, содержащую эти параметры. Если хочется дать ему возможность сформировать несколько наборов параметров, а потом единой заявкой все отправить - я так понимаю помогут сессии. Так и реализовал - в сессию записывается первый набор параметров. После повторного выбора параметров, на сводной странице выводятся сразу два набора параметров. Сводная заявка, занавес. Все работает. НО! Это справедливо на данном этапе моего понимания сессий только для формирования ДВУХ наборов. А если человеку нужно сделать 5 заявок? Понятно, что после отправки двух заявок я дестрою сессию, он зашел еще раз на страницу выбора параметров, забил еще две - отправил. Потом еще одну. А как реализовать механизм, чтобы человек мог создавать столько наборов параметров, сколько ему нужно, а потом все разом отправлять в заявке? То есть, по сути, как хранить в "корзине" неограниченное количество наборов?
Спасибо за желание помочь! Задним умом понимаю принцип, но нельзя ли подкинуть более развернуто идею (не полную реализацию ни в коем случае) воплощения? Добавлено спустя 3 минуты 49 секунд: Идея, как я себе это вижу: в базу пишутся полученные данные, привязанные к идентификатору сессии. при открытии сводной страницы идет запрос по идентификатору сессии и выводятся все принадлежащие данные, то бишь сохраненные наборы. Но вот я с сессиями на Вы. Получение уникального идентификатора (через хэш?) и запись данных в базу с его привязкой... Сохранение сессии... Выборка по идентификатору... Как-то мозг плавает...
Стыдно признаться, понятия не имею, как организовать множественные сессии, либо сессию с различным содержанием одних переменных... В сети третий час гуглю - толком про это не понял, но БД-сессии сильно привлекают, там я хоть принцип понимаю (если правильно понимаю, смотрите выше)
хранить наборы в бд, в сессии ключ для доступа к корзине если не было авторизации. С чем именно проблема? Хранить в корзине лучше не сами наборы или их идентификаторы, а использовать битовые маски. В данном случае они как нельзя кстати применимы.
Проверьте меня... Я же могу сделать так? Код (Text): $sid = mt_rand(); $_session['sid'] = $sid; В сессии у меня будет крутиться случайное число ['sid']. Юзер выбрал набор параметров. Нажал что-то типа "сформировать еще одну заявку". По клику все выбранные данные записались в базу под уникальным ID, одно из полей - `sid`. Ансет всех переменных, кроме ['sid']. Юзер снова подбирает набор параметров. Снова нажимает "сформировать еще одну заявку". По клику - еще одна запись в базу под уникальным ID и тем же `sid`. Ансет всех переменных, кроме ['sid']. Открытие "корзины" - выборка из базы Код (Text): WHERE `sid` = $sid и обработка полученных данных через foreach.
Помимо генерации ключа нужно проверять нет-ли его уже в таблице. Если есть, то генерировать повторно.