怎么会获得不了数据(perl)

magnet2008 2009-06-10 10:29:41
登录页面
<form method="post" action ="http://localhost/cgi-bin/login.pl" method=get>
下边是login.pl
$inputstring=$ENV{QUERY_STRING};
print "$inputstring";
怎么inputstring为空????
程序正常运行但是就是没有输出内容?????
是不是env设置不对????
...全文
49 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
fibbery 2009-06-10
  • 打赏
  • 举报
回复
我说的很清楚了。你想print $ENV{...},那必须该环境变量存在才行。

bash下设置环境变量:
export QUERY_STRING=yourstrings

perl your.pl

就是这个意思。究竟你是CGI开发还是什么,你只要知道上面的道理就行了。如果是CGi,那么web服务器上至少应该有你要显示的环境变量。
magnet2008 2009-06-10
  • 打赏
  • 举报
回复
大哥,您能否回答的快点,我可一直等着呢。。。。。。
magnet2008 2009-06-10
  • 打赏
  • 举报
回复
HTTP_ACCEPT: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
SCRIPT_FILENAME: /home/magnet/src/perl/cgi-bin/login.pl
SERVER_SOFTWARE: Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.6 with Suhosin-Patch mod_perl/2.0.3 Perl/v5.8.8
HTTP_ACCEPT_CHARSET: gb2312,utf-8;q=0.7,*;q=0.7
QUERY_STRING:
REMOTE_PORT: 36342
HTTP_USER_AGENT: Mozilla/5.0 (X11; U; Linux i686; zh-CN; rv:1.9.0.10) Gecko/2009042513 Ubuntu/8.04 (hardy) Firefox/3.0.10
SERVER_PORT: 80
这些数据都是对散列输出的值,但是QUERY_STRING:
echo 也是空。。。
magnet2008 2009-06-10
  • 打赏
  • 举报
回复
echo $QUERY_STRING shell一下???


QUERY_STRING=string,然后再执行你的程序。什么意思????
fibbery 2009-06-10
  • 打赏
  • 举报
回复
%ENV是环境变量的哈希表
fibbery 2009-06-10
  • 打赏
  • 举报
回复
你执行一下echo $QUERY_STRING,如果什么都没有,那么说明环境变量中根本没有这个变量。
你可以使用QUERY_STRING=string,然后再执行你的程序。
magnet2008 2009-06-10
  • 打赏
  • 举报
回复
我通过submit提交了数据。。写法和书上的感觉没有区别阿。。。
magnet2008 2009-06-10
  • 打赏
  • 举报
回复
SERVER_SOFTWARE: Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.6 with Suhosin-Patch mod_perl/2.0.3 Perl/v5.8.8
HTTP_ACCEPT_CHARSET: gb2312,utf-8;q=0.7,*;q=0.7
QUERY_STRING:
REMOTE_PORT: 37936
没有,什么原因???
fibbery 2009-06-10
  • 打赏
  • 举报
回复
你看一下环境变量有没有,如果没有,当然是空的。

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧