将值和参数从HTML传递到CGI

时间:2014-11-25 07:25:50

标签: html perl cgi

我在html中使用post方法将参数和值传递给cgi文件。从那个cgi文件我正在提取值和参数。我试过下面的代码,

HTML:

    <form action="http://hostname.com/manipulation.cgi?name5=value5&name6=value6&name7=value7&name8=value8" method="POST"> </form>

CGI: manipulation.cgi

use strict;
use CGI;
my $query ->new CGI;
print $query->header();

my @paramNames = $query->param; #Receive N number of parameters
my @paramValues = map $query->param($_), $query->param; #Receive N number of parameters values
print $query->h4("@paramNames,@paramValues");

但是我无法获得预期的输出。

请帮我解决这个问题。

提前致谢。

2 个答案:

答案 0 :(得分:1)

url_param - 从URL获取参数。

use strict;
use CGI;
my $query ->new CGI;
print $query->header();

my @paramNames = $query->url_param; #Receive N number of parameters
my @paramValues = map $query->url_param($_), $query->url_param; #Receive N number of parameters values
print $query->h4("@paramNames,@paramValues");

答案 1 :(得分:0)

你在做什么是没有意义的。如果您的所有参数都在URL中,那么为什么使用POST而不是GET?事实上,你为什么要使用表格?

如果您使用的是GET,那么param会为您提供网址中的参数。

如果您正在使用POST,则param将为您提供HTTP请求正文中的参数,url_param将为您提供网址中的参数。

因此,您似乎需要切换到使用url_param

值得指出的是,2014年学习CGI有点像学习使用打字机。它会起作用,而且一些技能也会有用。但是,建议你学习something a little more up to date