我在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");
但是我无法获得预期的输出。
请帮我解决这个问题。
提前致谢。
答案 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。