我想知道如何使用单个Perl文件生成HTML表单,并根据调用单独Perl脚本的单个HTML文件的标准方法来处理参数。
可以使用哪些方法来呈现HTML输入表单并将参数传递给同一个调用脚本,然后对它们进行操作?这是不好的做法吗?
答案 0 :(得分:2)
可以使用哪些方法呈现HTML输入表单并将参数传递给同一个调用脚本
省略action
属性,或将网址设置为当前网址。
然后对他们采取行动?
测试以查看字段是否包含在数据中和/或请求方法是否为POST
(假设POST
适合表单)并使用它来确定是否应显示表格或下一步。
这是不好的做法吗?
不,这是一种常见的模式。它允许您重复生成表单的代码,以便在输入错误的情况下返回一个预先填充了提交数据的新表单。
答案 1 :(得分:0)
这是一个非常常见的做法,让CGI程序看起来像这样:
if (parameters) {
Handle the paremeters to produce a page of results
} else {
Present an input form
}
但我担心你的标题会讨论使用CGI.pm的HTML功能生成HTML。几乎所有人都认为这些功能在十五年前是一个坏主意。您应该使用templating engine来生成HTML outout。
而且,实际上,这些天你不应该编写CGI程序。如果您使用PSGI之类的东西编写软件,您会发现它更灵活。