Многочастная форма в Codeigniter - PullRequest
2 голосов
/ 02 апреля 2010

Я строю опрос с Codeigniter, и он становится слишком громоздким ... поэтому я хочу разделить его на разделы (около 5).

Если я хочу, чтобы каждый раздел проверялся и передавался в базу данных после того, как пользователь нажимает «Далее», каков наилучший способ сделать это? Я никогда не делал многоэтапный процесс раньше.

Какой-нибудь совет для нуба? :)

Ответы [ 2 ]

4 голосов
/ 09 сентября 2010

Я совершенно не согласен. После проверки сохраните все это в сеансе, а затем отобразите все результаты на странице подтверждения. Если пользователь подтверждает это, сохраните каждое поле, на которое был получен ответ, в соответствующей таблице базы данных.

Идея Саммерна открыта для ошибок или преднамеренного неправильного ввода со стороны пользователя. Ничто не мешает им делать закладки http://www.mysite.com/mycontroller/form2/transaction_id или преднамеренно менять идентификатор транзакции.

Теперь я создал одну многостраничную форму, используя идею Саммерса, другую - с использованием класса сеансов codeigniter, но сохраняя сеансы в базе данных, а другую - сохраняя каждую страницу в таблице базы данных, но используя систему входа в систему для отслеживания пользователя. , Последний вариант самый надежный, но это настоящая боль. Система сессий самая лучшая.

0 голосов
/ 03 апреля 2010

CI не имеет встроенной многостраничной формы, которая поддерживает такие системы управления контентом, как Drupal.

Наилучшим способом, вероятно, является создание пяти отдельных форм, каждая из которых имеет собственный массив form_validation, функцию контроллера и представление. Когда пользователь успешно отправляет форму 1, проверяет форму, вводит (частичные) данные в базу данных и перенаправляет на вторую форму. Включите идентификационный номер базы данных или свой собственный идентификационный номер транзакции в URL последующих форм, чтобы вы знали, на какую запись вы ссылаетесь:

http://www.mysite.com/mycontroller/form1
http://www.mysite.com/mycontroller/form2/transaction_id

Документация CI великолепна, и эта библиотека проверки формы поможет вам в этом: http://codeigniter.com/user_guide/libraries/form_validation.html

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