【问题标题】:how to pass an array to a perl cgi script with a HTML form?如何将数组传递给带有 HTML 表单的 perl cgi 脚本?
【发布时间】:2011-03-29 23:14:03
【问题描述】:

在 HTML 表单中,如果我们用[] 为输入框命名,像这样

<input name="foo[]" type="text" />
<input name="foo[]" type="text" />

在PHP中,我们可以通过$_POST['foo']来获取这些输入框的值。

如何在 Perl 中做类似的事情?我用 CGI.pm

【问题讨论】:

    标签: perl cgi


    【解决方案1】:

    只需将param 的结果分配给一个数组即可。

    my @values = param('foo[]');         # If you use the functional-style
    my @values = $query->param('foo[]'); # If you use the OO-style of CGI.pm
    

    名称不要求以[]结尾。

    【讨论】:

    • 小心。您应该记得首先检查正确的 REQUEST_METHOD (GET/POST)。 CGI::param() 用于从标头中检索GETPOST 请求参数。
    • @vol7ron,为什么需要检查请求方法?通常,使用哪种方法并不重要。
    • 也许他的意思是 PHP。在 PHP 中,它可能在 $_POST 中,但也可能在 $_GET 中,或者当然,两者都有。
    • @AmbroseChapel:不,我是说 Perl;这是因为我想区分不同的 PHP 处理程序。
    • @vol7ron,任何会被“安全措施”阻止(甚至明显减慢)的人无论如何都不会设法破解您的代码。除非您需要根据请求方法改变脚本的行为,否则检查它是没有意义的。这只是代码中的额外复杂性。
    猜你喜欢
    • 1970-01-01
    • 2013-04-28
    • 2013-09-01
    • 2016-03-13
    • 2016-01-11
    • 2018-11-15
    • 2012-02-02
    • 2011-02-07
    • 1970-01-01
    相关资源
    最近更新 更多