listar datos de un formulario

Salman Programas S. L. correo@salmansl.es
Tue, 22 Sep 1998 13:51:42 +0200


Hola a tod@s

La idea de Guille, me ha gustado mas, pues el uso del CGI.pm que me propone
Roberto, implica utilizar rutinas externas, que no me permiten tener todo el
control que a mi me gusta.

Por si le puede ser de utilidad a alguien y una vez implementada la idea de
Guille, la rutina quedaria de la siguiente manera:

  read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});

  @pareja = split(/&/, $buffer);

  foreach $par (@pareja) {
     ($nombre, $valor) = split(/=/, $par);

     $valor =~ tr/+/ /;
     $valor =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
     $valor =~ s/<!--(.|\n)*-->//g;
     $valor =~ s/<([^>]|\n)*>//g;
     $valor =~ tr/<//;
     $valor =~ tr/>//;
      if (defined($in{$nombre})) {
           $in{$nombre} .= " ";
      }
      else {
           $con++;
           $indice[$con]=$nombre;
      }

     $in{$nombre} .= $valor;
  }


      foreach $ord (0 .. $#indice) {
            if (defined($in{$indice[$ord]})) { # (1)
                    print "$indice[$ord]: $in{$indice[$ord]}\n";
                }
            }

(1) esta linea es debida a que en medio elimino algunos campos del
formulario que no me interesa listar, aunque tambien utilizo en otra parte
un

    if ($indice[$ord] eq 'tal_valor') {next;}

Gracias por la idea y saludos
Salvador Guzman
Salman PSL
correo@salmansl.es
http://salman.net/
http://salmansl.es/


<<<<<<<<<<<<<<<<<pregunta original>>>>>>>>>>>>>>>>>>>>>>>>>>>>


>> Se me esta planteando un pequeño problema:
>>
>> Tras una toma de datos proveniente de un formulario, quiero listar los
datos
>> obtenidos pero en el mismo orden en el que aparecen en el formulario, que
>> por logica es el mismo orden en que se reciben.
>>


<<<<<<<<<<<<<<<<<respuesta de Guille>>>>>>>>>>>>>>>>>>>>>>>>>>>>

>Lleva por aqui un contador y aparte del in{nombre} ten un array[i] con
>un puntero al in{nombre} correspondiente...
>


--------- Pie de mensaje --------------------------------
Visite: http://tlali.iztacala.unam.mx/~randrade/perl.shtml
Cancelar inscripcion:
mail to: majordomo@tlali.iztacala.unam.mx
text   : cancelacion perl