Отображение опроса 1 вопрос за один раз - PullRequest
0 голосов
/ 25 мая 2011

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

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

Стоит отметить, что я должен использовать CGI (хотя я нея не думаю, что это сильно влияет).

Исходя из того, что я понимаю, я должен использовать какое-то скрытое поле для отслеживания текущего номера вопроса, это точно?

Ответы [ 2 ]

1 голос
/ 26 мая 2011

Из CPAN есть модуль с именем CGI :: Session . Этот модуль, как вы можете догадаться, обрабатывает управление сессиями. При этом это облегчает поддержание состояния в ваших CGI-приложениях. Если ваши потребности не направят вас в направлении, которое конкретно не охвачено CGI :: Session, вам следует дать ему возможность выполнить тяжелую работу по управлению сессиями / состоянием для вас.

Хотя можно передавать информацию из одного состояния в другое, используя скрытые поля, существуют способы сделать это более надежными, чем другие. И скрытые поля - это только одна из нескольких техник. GET-запросы могут передавать информацию о сеансе от одного запроса к другому. Скрытые поля также. Печенье тоже. Но вместо передачи текущего и следующего номера вопроса часто лучше передать значение хеша, которое идентифицирует конкретный сеанс. Это сложнее для кого-то манипулировать способами, с которыми ваш сценарий не собирается иметь дело. Смысл этого параграфа в том, что CGI :: Session позволяет вам не сильно беспокоиться о реализации управления сессиями. Это позволяет вам сконцентрироваться на выполнении чего-либо (основная цель веб-приложения).

0 голосов
/ 25 мая 2011

Есть несколько способов управления сессиями, не полагайтесь на хранение вещей в «скрытых» полях.Почему бы не записать ответы в базу данных?Таким образом, люди могут возобновить опросы, если они не закончили их первый раз.

...