problemy
Tomas Kouba
kouba na fzu.cz
Pátek Květen 21 11:09:40 CEST 1999
To je spise CGI. Proto je to off topic. Klidne poradim dale mimo
konferu.
On Friday, May 21, 1999 11:03 AM, Jan Satko
[SMTP:satko na quanto.uniag.sk] wrote:
> Mohol by ma niekto sikovne naviest ako vycitat vstupne premenne pri
> pouziti metody POST ?
> uvital by som nejaky jednoduchy priklad.
Myslim ze je to od pana Satrapy. Jmenuje se to cgivars a ja to
pouzivam na ladeni formularu:
#!/usr/local/bin/perl
print "Content-Type: text/plain\n\n";
foreach $key ( sort keys %ENV )
{ print $key, " = ", $ENV{$key}, "\n"; }
if ( $ENV{"REQUEST_METHOD"} =~ m/POST/i )
{ print "\n\nInput:\n";
read ( STDIN, $data, $ENV{"CONTENT_LENGTH"} );
print $data;
}
Jinak pouzivam v perlu tohle (to umi vzit data i z prikazove radky a
vyrobi asciativni pole):
#########################################################
sub parse_arg {
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
if (length($buffer) < 5) {
$buffer = $ENV{QUERY_STRING};
}
@pairs = split(/&/, $buffer);
if (length($buffer) < 5) {
@pairs = @ARGV;
}
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
if ($input{$name} eq "") {
$input{$name} = $value;
} else {
$input{$name} = $input{$name} . " " . $value;
}
}
}
Taky jsem to nekde opsal a vylepsil o tu prikazovou radku. Ideal je
asi spojeni obeho
Tomas
--
Ing. Tomas Kouba
Institute of Physics, AS CR ph.: +420-2-24311137
Cukrovarnicka 10 fax: +420-2-3123184
162 53 Prague e-mail: kouba na fzu.cz
Czech Republic URL: http://www.fzu.cz/~kouba
Další informace o konferenci Linux