Перейти к содержимому

Фото
- - - - -

Как организовать сложную систему заказа через множество форм?


  • Вы не можете создать новую тему
  • Please log in to reply
10 ответов в этой теме

#1 Mitjay

Mitjay
  • Пользователь
  • 38 сообщений
  • Откуда:Tallinn

Отправлено 24 Февраль 2006 - 06:58

Всем здрасте!
Необходимо сделать что-то вроде корзины покупок из множества форм!
Логика такая:
1) Посетителю предоставляется форма заказа где он указывает параметры продукта который он хочет заказать. И предлогается отправить заказ или заполнить ещё одну форму заказа. После нажатия на отправить, пользователю выводятся данные всех заполненых им ранее форм.
Вопрос:
Как и где сохранять переменные ранее заполненых форм, для последующего их использования. Какой механизм для этого использовать? Если можно, то объясните подробней логику и ход сценария.
Заранее THANKS!!!
  • 0

#2 Warvick

Warvick
  • Пользователь
  • 411 сообщений
  • Откуда:Tallinn

Отправлено 24 Февраль 2006 - 09:31

Mitjay,
а про базы данных что-нибудь слышал? :)
  • 0
Да, я такой!

#3 Setor

Setor
  • Постоялец
  • 1 890 сообщений
  • Откуда:Эстония, Таллин

Отправлено 24 Февраль 2006 - 12:33

Как и где сохранять переменные ранее заполненых форм, для последующего их использования

если данные нужны в течение одной сессии - используй сессии, если данные нужно где-то сохранить с возможностью их последующего просмотра - БД
  • 0

#4 Mitjay

Mitjay
  • Пользователь
  • 38 сообщений
  • Откуда:Tallinn

Отправлено 24 Февраль 2006 - 15:31

Именно, данные надо хранить в течении одной сессии, а потом отправить их все вместе на мыло. Сетор, я так понимаю, что при записи в б.д. всё равно сессии понадобяться. Ведь форм то может быть много. Не отправлять же каждую форму в базу по отдельности, ведь тогда в каждой новой форме пользователю придётся вводить одни и те же контактные данные, что любого запарит!
  • 0

#5 Setor

Setor
  • Постоялец
  • 1 890 сообщений
  • Откуда:Эстония, Таллин

Отправлено 24 Февраль 2006 - 16:28

данные надо хранить в течении одной сессии, а потом отправить их все вместе на мыло

Ну, заносишь данные в массив и сохраняешь в сессии, данные след. формы опять сохраняешь в другой массив в сессии и т.д. Потом все эти массивы форматируешь и отправляешь на мыло :)

Я только не понимаю, зачем тут БД? ;)

P.S. язык я так полагаю, PHP ? :)
  • 0

#6 ФрукТ

ФрукТ
  • Постоялец
  • 768 сообщений
  • Откуда:сеть

Отправлено 24 Февраль 2006 - 16:57

Я только не понимаю, зачем тут БД?


я только не понимаю, зачем тут мыло (-:

запихиваешь в БД, если нужно, то уведомление на мыло. Смотреть архив гораздо удобнее, чем потом по почте лазать.

Другой вопрос если надо все это без пхп делать, тогда да... яваскрипт, куки и многомного геморроя :)
  • 0

#7 Mitjay

Mitjay
  • Пользователь
  • 38 сообщений
  • Откуда:Tallinn

Отправлено 24 Февраль 2006 - 17:37

PHP - да.
Базы данных я использовать не буду и всё будет отправляться на майл. Это я так, к слову про базы данных. Но в любом случае я так понимаю нужны сессии и масивы!!??
К сожалению я начинающий в php, с сессиями и масивами на практике не сталкивался и видимо придётся попотеть.
Вот бы примерчик какой нибудь приметивный посмотреть: форма-масив-сессия, форма-массив-сессия.
  • 0

#8 ФрукТ

ФрукТ
  • Постоялец
  • 768 сообщений
  • Откуда:сеть

Отправлено 24 Февраль 2006 - 19:14

Mitjay,

хмм, а что тут объяснять? Там всего пара функций для работы с сессиями. В массив помещать/читать и того проще.
Подскажу только, что имя сессии проще всего передавать через куки. Ну или ГЕТ'ом на крайний случай.

Сообщение изменено: Другое YTPO. (24 Февраль 2006 - 19:15 )

  • 0

#9 Setor

Setor
  • Постоялец
  • 1 890 сообщений
  • Откуда:Эстония, Таллин

Отправлено 24 Февраль 2006 - 19:22

Подскажу только, что имя сессии проще всего передавать через куки. Ну или ГЕТ'ом на крайний случай.

Имя сессии никуда передавать не надо. Идентификатор сессии сам передаётся в зависимости от настроек PHP.

Всё что надо знать для работы с сессиями - это:
1) session_start(); // включает механизм сессий
2) $_SESSION[] = array(); // это массив, в который нужно сохранять переменные сессии.

Больше ничего!
  • 0

#10 ФрукТ

ФрукТ
  • Постоялец
  • 768 сообщений
  • Откуда:сеть

Отправлено 24 Февраль 2006 - 19:24

Имя сессии никуда передавать не надо. Идентификатор сессии сам передаётся в зависимости от настроек PHP.


гмм... при закрытии браузера тоже?
  • 0

#11 Setor

Setor
  • Постоялец
  • 1 890 сообщений
  • Откуда:Эстония, Таллин

Отправлено 24 Февраль 2006 - 19:34

при закрытии браузера тоже?

При закрытии браузера уничтожается кука сессии (по-умолчанию), это можно исправить, изменив кое-какие настройки PHP.

Имя сессии (по умолчанию) PHPSESSID. Идентификатор сессии - это md5 хеш от каких-то случайных данных (длина хеша 32 символа: буквы в нижнем регистре или цифры)

Идентификатор сессии можно передать через метод GET/POST index.php?PHPSESSID=sid или через куку PHPSESSID=sid

session_start(); избавляет от всех головных проблем. он делает всё сам) сам ставит куки и меняет линки...
  • 0