Forum Webscript.Ru
Программирование => Perl => Тема начата: alex007 от 04 Июня 2002, 18:35:58
-
Помогите пожалуйста написать форму типа Wizard-a, которая собирала бы информацию постепенно (по шагам), типа на первой странице - имя, на второй странице - эл.адрес, на третьей странице - сообщение и т.д. А на последней странице- показала бы информацию, которую собрала и при нажатии кнопки "ОК" - вся информация бы отсылалась на мыло. Киньте желательно примерчик. :confused: Спасибо заранее.
-
А вот глянь вот тут же в Перл Скриптах УНИВЕРСАЛЬНАЯ ФОРМА /или письмо не помню :)/ это похоже на то что тебе надо.
-
да я уже смотрел етот скрипт это совсем не то что мне надо. А этот скрипт "УНИВЕРСАЛЬНАЯ ФОРМА" не отсылает на мыло, а записывает в файл все данные.
-
Принцип следующий, делал для php, но без разницы
напр-р есть три формы, в каждой по 5 переменных
в первой форме записываются 1ые, остальные 10 - как хидден
во второй - 5 хидден, 5 визибл, 5 хидден
ну и т.д.
и в каждой форме по типу Back, Next, можно и финиш еще прикрутить
а в скрипте уже проверять все переменные после каждого сабмита и отправлять куда надо, т.е. back или next.
-
проверять все переменные после каждого сабмита
Ключевое слово здесь ВСЕ, а главное НЕ ЗАБЫТЬ проверить после последнего, даже если у тебя там только выпадающий список или галочки проставить - а то некоторые придурки возьмут да и поравят твой файлик вместе с скрытыми полями, и передадут тебе всякую фигню.
-
Можешь создать сесию для пользователя и просто на сервере хранить все его изменения в базе например. А передавать в хиден поле просто номер сесии. Советую посмотреть
perldoc Apache::Session
-
http://search.cpan.org/doc/JBAKER/Apache-Session-1.54/Session.pm
Так будет правильнее чем perldoc, так как его сначала установить надо :)
-
спасибо большое за ответы, но мне надо не в сессиях, а желательно в 3 и можно более формах (нужно в perl/cgi, но не в php) и чтоб между ними информация сохранялась в куки (cookie)
-
Еще раз объясняю слово сессия не должно пугать. От каждой формы(3 и более) ты получаешь какую-либо информацию, которую сохраняешь на сервере, а не держишь в куки большое количество информации. В куки ты можешь держать только уникальный ID(номер сессии) или же передавать его через хиден-поля. Так намного удобнее. А в финальной стадии по этому ID ты из БД(может текстовой как удобнее) на сервере получишь всю информацию, которую передал тебе пользователь. Почитай повнимательнее описание Apache::Session. Там все нормально описано.
-
и чтоб между ними информация сохранялась в куки (cookie)
В cookie есть ограничение на размер. И с другой стороны, никакой гарантии что они включены на стороне клиента. Поэтому этот вариант не совсем (или совсем) неудачный. Как вариант наиболее простой: юзай hidden в формах. Ежели хочешь спрятать от взгляда юзверя - передавай в шифрованом виде.
-
Ежели хочешь спрятать от взгляда юзверя - передавай в шифрованом виде.
ГЫ. Юзверя совсем за параноика держат, он же только что их ввёл:-)
А зачем куки, зачем сессии?
Britva нормально тебе описал всё, что тебе нужно для счастья:-), в этой теме уже написано больше строк, и потрачено больше времени чем ты потратишь на код/затратишь время на его написание...
-
Юзверя совсем за параноика держат, он же только что их ввёл:-)
Лучше за параноика, чем потом эти данные из кеша любой хацкер вынул. Я же не знаю что alex007 соберается получать. Ну это так, к слову... Если нет необходимости, то, конечно, можно эту процедуру опустить.