perl路由以获取表单值停止工作

时间:2016-02-08 18:22:23

标签: forms perl

我使用一些例程从Web表单中获取表单数据 该程序位于linux服务器上的/ var / www / cgi-bin中 我从perl 5.10.1到5.22.1,现在下面的代码停止了工作 它给了我这个错误:
在读取中使用未初始化的值从顶部开始的第三行 我无法弄清楚问题。

sub populatePostFields {
 %postFields = ();
 read( STDIN, $tmpStr, $ENV{ "CONTENT_LENGTH" } );
 @parts = split( /\&/, $tmpStr );
 foreach $part (@parts) {
  ( $name, $value ) = split( /\=/, $part );
  $value =~ ( s/%23/\#/g );
  $value =~ ( s/%2F/\//g );
  $postFields{ "$name" } = $value;
 }
}

sub populateQueryFields {
%queryString = ();
my $tmpStr = $ENV{ "QUERY_STRING" };
@parts = split( /\&/, $tmpStr );
foreach $part (@parts) {
( $name, $value ) = split( /\=/, $part );
$queryString{ "$name" } = $value;
}
}

populatePostFields();
$strCode = $postFields{ "code" };
$strMode = $postFields{ "mode" };
$strUser = $postFields{ "loginName" };

if ($strCode ne "secretcode") {
 populateQueryFields();
 $strCode = $queryString{ "code" };
 $strMode = $queryString{ "mode" };
 $strUser = $queryString{ "loginName" };
}

感谢任何帮助。提前谢谢。

0 个答案:

没有答案