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