CGI - multiple select?

 
Vista:

multiple select?

Publicado por Cristián Tamayo (1 intervención) el 25/01/2001 09:42:22
Saludos, como manipulo los datos enviados desde un formulario que tiene multiple select,
<select size=12 multiple>
<option ........

como los recibo en el cgi hecho con perl?,
favor enviar ayuda através del mail, please!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Recibir datos de un `<select multiple>` en un CGI Perl

Publicado por Alejandro (140 intervenciones) el 22/08/2023 20:21:48
Si deseas recibir los datos enviados desde un formulario con un elemento `<select multiple>` en un CGI hecho en Perl, puedes hacerlo utilizando la variable de entorno `QUERY_STRING` que contiene los datos del formulario enviado mediante el método POST. Aquí tienes un ejemplo de cómo podrías hacerlo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/usr/bin/perl
use strict;
use warnings;
 
print "Content-type: text/html\n\n";
 
my $query_string = $ENV{'QUERY_STRING'};  # Obtener los datos enviados desde el formulario
my @selected_options = split(/&/, $query_string);
 
foreach my $option (@selected_options) {
    my ($param, $value) = split(/=/, $option);
    $value =~ tr/+/ /;  # Reemplazar los signos + con espacios
    $value =~ s/%(..)/pack("C", hex($1))/eg;  # Decodificar caracteres URL-encoded
    print "Opción seleccionada: $value<br>";
}

En este ejemplo, asumimos que los datos se envían al CGI en formato URL-encoded (por ejemplo, `opcion=valor`). El código divide los pares `nombre=valor` del `QUERY_STRING`, decodifica los caracteres URL-encoded y muestra las opciones seleccionadas.

Nota: Este es un ejemplo simple. En un escenario real, podrías necesitar realizar una validación más robusta de los datos, incluido el filtrado de entradas para prevenir inyecciones y otros ataques.

Ten en cuenta que la manipulación de datos de formularios en CGI Perl puede ser más fácil y segura utilizando módulos como CGI.pm o Mojolicious. Estos módulos proporcionan funciones y métodos convenientes para manejar la entrada de formularios, el control de errores y la generación de respuestas HTML.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar