Perl 一次显示调查问题1

Perl 一次显示调查问题1,perl,forms,cgi,survey,Perl,Forms,Cgi,Survey,我正在写一份调查,每次应该显示一个问题。我对表单的具体工作方式有点生疏,所以这可能是个问题,但这里是我的问题 程序从文件中读取问题并将其显示在页面上。基本上,我想使用一个表单来显示一个问题,通过下一个或上一个按钮将答案细分,然后从那里转到下一个问题 值得注意的是,我必须使用CGI(尽管我不认为这有多大影响) 据我所知,我必须使用某种隐藏字段来跟踪当前的问题编号,这是否准确?有几种方法可以进行会话管理,不要依赖于将内容存储在“隐藏”字段中。为什么不将响应写回数据库?这样,如果第一轮调查没有完成,人

我正在写一份调查,每次应该显示一个问题。我对表单的具体工作方式有点生疏,所以这可能是个问题,但这里是我的问题

程序从文件中读取问题并将其显示在页面上。基本上,我想使用一个表单来显示一个问题,通过下一个或上一个按钮将答案细分,然后从那里转到下一个问题

值得注意的是,我必须使用CGI(尽管我不认为这有多大影响)


据我所知,我必须使用某种隐藏字段来跟踪当前的问题编号,这是否准确?

有几种方法可以进行会话管理,不要依赖于将内容存储在“隐藏”字段中。为什么不将响应写回数据库?这样,如果第一轮调查没有完成,人们就可以恢复调查。

CPAN提供了一个模块,名为。正如您可能猜到的,这个模块处理会话管理。这样做有助于维护CGI应用程序中的状态。除非您的需求为您指明了CGI::Session没有明确涵盖的方向,否则最好让它为您完成会话/状态管理的繁重工作


虽然可以使用隐藏字段将信息从一个状态传递到下一个状态,但有一些方法比其他方法更可靠。隐藏字段只是几种技术中的一种。GET请求可以将会话信息从一个请求传递到下一个请求。隐藏字段也是如此。还有饼干。但与其传递当前和下一个问题编号,不如传递标识特定会话的哈希值。对于某些人来说,用你的脚本不打算处理的方式来操纵它是很困难的。这一段的要点是CGI::Session让您不用太担心会话管理的实现。这使您可以集中精力完成某些事情(web应用程序的主要目的)。

您的问题有点模糊。您唯一想知道的是是否必须使用隐藏字段?