0
我正在创建一个网站,它将接收用户信息并存储在mysql数据库中。当我通过终端运行脚本时,出现以下错误:
Use of uninitialized value $ENV{"REQUEST_METHOD"} in string eq at ./folder1/friends-mysql.cgi line 16.
我不确定为什么出现此错误。这里是我的脚本:
#!/usr/bin/perl -w
use DBI;
#Declare Variables with MYSQL Connection Data
$db="my database";
$user="my username";
$passwd="password";
$host="host";
$connectionInfo="";
#Print HTTP header
print "Content-type:text/html\n\n";
#Check if Method is GET
if ($ENV{REQUEST_METHOD} eq "GET") { -->This is line 16
&displayform();
exit;
}
else { #If Method not GET process form and insert into DB
&parseform();
&insertfriend();
exit;
}
#Standard form parsing using POST method
sub parseform {
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
@pairs = split(/&/, $buffer);
foreach $pair(@pairs) {
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$FORM{$name} = $value;
}
}
'$ ENV {REQUEST_METHOD}'会提到所谓的环境变量“REQUEST_METHOD”。在运行脚本之前,您是否创建并导出了一个环境变量? 'export REQUEST_METHOD =“GET”' –
@ chris-doyle那可能是答案所以......你知道该怎么办:-) –
@ChrisDoyle我必须把'export REQUEST_METHOD =“GET”'因为我把它放在我的脚本,但我仍然没有得到结果。当我从浏览器执行脚本时,我会看到整个脚本。 –