hgjgh 发表于 2015-12-26 14:41:21

perl--CGI编程之页面参数传递

你可以使用以下的语句来执行服务器中的CGI脚本http://localhost/cgi-bin/test.cgi ,而在perl中使用$ENV{QUERY_STRING}来获取传递的参数,并且进行相应处理,并返回浏览器供显示。首先由一test1.html,里面填写表单(Form),代码如下:  <html>
<head>
    <title>个人信息</title>
</head>
<body>
    <h2 Align="center">我的个人信息</h2>
    <FORM METHOD=GET ACTION="http://localhost:1087/cgi-bin/geteachatt.pl">
      <p>姓名:<input name="name" size=17>
         性别:<input name="sex"type=RADIO value="male" CHECKED>男
               <input name="sex"type=RADIO value="female">女
      <p>家庭所在地:
    <select name="city" SIZE="1">
      <option selected>北京</option>
      <option selected>上海</option>
      <option selected>成都</option>
      <option selected>其他城市</option>
    </select>住址:<input name="address" size=25>
    <p align="left">
    <input type=submit value="发送">
    <input type=submit value="重置">
    <p>
    </FORM>
</body>
</html>
   

  在geteachatt.pl中写入
  #!d:/perl/bin/perl
print "Content-type:text/html","\n\n";
print "<HTML>","\n";
print "<HEAD>","\n";
print "<TITLE>测试Get方式下的表单数据传输方法</TITLE>","\n";
print "</HEAD>","\n";
print "<BODY>","\n";
print "<H2>从URL获取的信息</H2>","\n";
$QuerystringFromEnv=$ENV{QUERY_STRING};
@NameAndValuelists=split(/&/,$QuerystringFromEnv);
foreach $NameAndValue(@NameAndValuelists) {
    ($Name,$Value)=split(/=/,$NameAndValue);
    $Name=~tr/+//;
    $Value=~s/%([\dA-Fa-f][\dA-Fa-f])/pack("c",hex($1))/eg;
    print "属性名=$Name,属性值=$Value","<BR>\n";
}
print "</BODY>","\n";
print "</HTML>","\n";
  打开浏览器,输入test1.html
  file//D:\Program Files\Apache2.2\cgi-bin\test1.html//D:\Program Files\Apache2.2\cgi-bin\test1.html

  填入姓名,性别,住址等信息,然后单击发送按钮,显示如下
页: [1]
查看完整版本: perl--CGI编程之页面参数传递