Chinaunix

标题: cgi param求助。 [打印本页]

作者: bintre    时间: 2010-12-07 09:35
标题: cgi param求助。
各位写cgi滴大神们,在网上找了很多,也没有发现怎么回事,希望给点提示。

  1. #!/usr/bin/perl
  2. use strict;
  3. use warnings;
  4. use Data::Dumper;
  5. use CGI qw(:all);
  6. print header();
  7. print start_html(-title=>"CGI");
  8. print "##########<br>";
  9. my @text = param('text')||'';
  10. print Dumper(@text);
  11. print end_html;       
复制代码
为什么我提交d.cgi?text=5&text=4这样的数据后页面之显示
##########
$VAR1 = '5';
不是 5和4.
作者: bintre    时间: 2010-12-07 10:00
难道param 只能获取一个参数?我的问题太愚蠢,没有人回答?
作者: bintre    时间: 2010-12-07 10:07
帮忙 啊
作者: iamlimeng    时间: 2010-12-07 13:03
CGI不能接受同名的多个参数,同名的会被覆盖。你可以把要传递的数据通过某种方法合并后传递:

d.cgi?text=5_4_3_6

然后在CGI程序中分隔它
作者: ulmer    时间: 2010-12-07 18:12
回复 1# bintre

the wrong point is line 9: @text = param('text') || '';
Don not use "||" operator hier and remove it!

CGI param() can retrieve single name with multivalues!!! such as checkboxes or multi selections!




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2