listar datos de un formulario

Roberto Jimeno jimeno@pc6.politicas.unam.mx
Mon, 21 Sep 1998 13:55:14 -0500


	Usa CGI.pm. Es mucho más facil que hacerlo "a mano", y además
el orden en el que obtienes los parámetros (actualmente) es el mismo
en el que los enviaste. Citaré una nota del manual de CGI:

	
       "NOTE: As of version 1.5, the array of parameter names
       returned will be in the same order as they were submitted
       by the browser.  Usually this order is the same as the
       order in which the parameters are defined in the form
       (however, this isn't part of the spec, and so isn't
       guaranteed)."

	Si todavía no usas CGI.pm, busca un tutorial o algún
ejemplo. Usarlo es tán sencillo que con solo un ejemplo y la página
del manual podrás programar cualquier cgi.

								Suerte.

>    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.
> 
>    Es decir tras:
> 
>    # Toma de datos
>     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/>//;
>        $in{$nombre} .= " " if (defined($in{$nombre}));
>        $in{$nombre} .= $valor;
>     }
> 
>    si la siguiente orden es:
> 
> 	       foreach $nombre (keys %in) {
> 		       print "$nombre: $in{$nombre}\n";
> 	       }
> 
>    el resultado obtenido, no aparece en el mismo orden en que se recibio, y si
>    lo que pongo es:
> 
> 	       foreach $nombre (sort keys %in) {
> 		       print "$nombre: $in{$nombre}\n";
> 	       }
> 
>    Lo que obtengo es el listado clasificado por el nombre del campo.
-- 
-------------------------------------------------------------------------------
Roberto Jimeno.       From The Cher-Speak Dictionary for the totally clueless:
stems (STEMS), n. 1. legs.
--------- Pie de mensaje --------------------------------
Visite: http://tlali.iztacala.unam.mx/~randrade/perl.shtml
Cancelar inscripcion:
mail to: majordomo@tlali.iztacala.unam.mx
text   : cancelacion perl