alliance/dev/cvslargo/www/cgi-bin/czo/startform.cgi

111 lines
3.2 KiB
Perl
Executable File

#!/usr/local/bin/perl
use CGI;
$query = new CGI;
$CGI::POST_MAX = 102400; # set maximum size of post
print $query->header;
print $query->start_html("Example CGI.pm Form");
print "<H1> Example CGI.pm Form</H1>\n";
&print_prompt($query);
&do_work($query);
&print_tail;
print $query->end_html;
sub print_prompt {
my($query) = @_;
print $query->startform;
print "<EM>What's your name?</EM><BR>";
print $query->textfield('name');
print $query->checkbox('Not my real name');
print $query->filefield('uploaded_file','starting value',50,80);
# ACCEPT="filetype/*"
print "<P><EM>Where can you find English Sparrows?</EM><BR>";
print $query->checkbox_group(
-name=>'Sparrow locations',
-values=>[England,France,Spain,Asia,Hoboken],
-linebreak=>'yes',
-defaults=>[England,Asia]);
print "<P><EM>How far can they fly?</EM><BR>",
$query->radio_group(
-name=>'how far',
-values=>['10 ft','1 mile','10 miles','real far'],
-default=>'1 mile');
print "<P><EM>What's your favorite color?</EM> ";
print $query->popup_menu(-name=>'Color',
-values=>['black','brown','red','yellow'],
-default=>'red');
print $query->hidden('Reference','Monty Python and the Holy Grail');
print "<P><EM>What have you got there?</EM><BR>";
print $query->scrolling_list(
-name=>'possessions',
-values=>['A Coconut','A Grail','An Icon',
'A Sword','A Ticket'],
-size=>5,
-multiple=>'true');
print "<P><EM>Any parting comments?</EM><BR>";
print $query->textarea(-name=>'Comments',
-rows=>10,
-columns=>50);
print "<P>",$query->reset;
print $query->submit('Action','Shout');
print $query->submit('Action','Scream');
print $query->endform;
print "<HR>\n";
}
sub do_work {
my($query) = @_;
my(@values,$key);
print "<H2>Here are the current settings in this form</H2>";
foreach $key ($query->param) {
print "<STRONG>$key</STRONG> -> ";
@values = $query->param($key);
print join(", ",@values),"<BR>\n";
}
}
sub print_tail {
$filename = $query->param('uploaded_file');
print "<BR><BR>$filename<BR>\n\n";
# Read a text file and print it out
# while (<$filename>) {
# print;
# }
$type = $query->uploadInfo($filename)->{'Content-Type'};
print "<BR><BR>$type<BR>\n\n";
# unless ($type eq 'text/html') {
# die "HTML FILES ONLY!";
# }
print "<BR><BR>fini<BR>\n\n";
# Copy a binary file to somewhere safe
open (OUTFILE,">/tmp.vbe");
while ($bytesread=read($filename,$buffer,1024)) {
print OUTFILE $buffer;
}
print "<BR><BR>fini<BR>\n\n";
print <<END;
<HR>
<ADDRESS>Lincoln D. Stein</ADDRESS><BR>
<A HREF="/">Home Page</A>
END
}