Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 

Problema al obtener un valor de un formulario

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Intermedio
Mensaje Lun Jun 30, 2008 7:55 am
danimera
Perlero Adicto
Perlero Adicto
Registrado: 23 Jun 2005
Mensajes: 206
Ubicación: Colombia
Problema al obtener un valor de un formulario Responder citando

Hola. Resulta que tengo este formulario
HTML:
<form method="GET" action = "index.pl">
        <p align="center"><select size="1" name="mes" class="boton1">
        <option>Mes</option>
        <option value="01">Enero</option>
        <option value="02">Febrero</option>
        <option value="03">Marzo</option>
        <option value="03">Abril</option>
        <option value="04">Mayo</option>
        <option value="06">Junio</option>
        <option value="07">Julio</option>
        <option value="08">Agosto</option>
        <option value="09">Septiembre</option>
        <option value="10">Octubre</option>
        <option value="11">Noviembre</option>
        <option value="12">Diciembre</option>
        </select><select size="1" name="D3" class="boton1">
        <option>Año</option>
        <option value="2006">2006</option>
        <option value="2007">2007</option>
        <option value="2008">2008</option>
        <option value="2009">2009</option>
        <option value="2010">2010</option>
        </select><input type="submit" value="Ir" name="B5" class="boton1"></p>
</form>
Y el código Perl es este
Perl:
#!/usr/bin/perl

use CGI qw(:all);
use lib('../modulos');
use CGI::Carp qw(fatalsToBrowser);
use HTML::Template;
use FILE::kreader;
use Data::Dumper;
use HTML::CalendarMonth;
use CGI::Session;
use HTML::AsSubs;
require "../clases/index_class.pl";
print header;

$template = "templates/template.tmpl";
my $template = HTML::Template->new(filename => $template);

print Dumper(param('mes'));
print "sss".param('mes');

@categorias = obtener_categorias("riocauca");
$calendario = obtenercalendario(6,2008,"punto1","riocauca");

$template->param(CONTENIDO => $calendario);
$template->param(HOME => "EMCANEBZADO");
$template->param(CATEGORIAS => \@categorias);


# DISPLAY DE LA PLANTILLA
print $template->output();


El Data::Dumper me imprime esto:
Código:
$VAR1 = bless( { '_content' => [ 'mes' ], '_tag' => 'param' }, 'HTML::Element' );


y el print param(mes); me imprime esto
Código:
sssHTML::Element=HASH(0x194b294)


¿Qué será qué pasa? ¿Ha?
Mensaje Lun Jun 30, 2008 8:35 am
explorer
Moderador
Moderador
Registrado: 24 Jul 2005
Mensajes: 3860
Ubicación: Valladolid, España
Responder citando

El módulo HTML::AsSubs está redefiniendo la función param(), por lo que crees que estás usando el param() del CGI y resulta que es una función de ese otro módulo.

Usa la forma de programación orientada a objetos del CGI. Consulta el manual de CGI, al principio, donde habla de las distintas formas de usar el módulo.
Mensaje Lun Jun 30, 2008 9:09 am
kidd
Creador de Perl en Español
Creador de Perl en Español
Registrado: 15 Oct 2003
Mensajes: 1361
Ubicación: México
Responder citando

Un ejemplo de uso del CGI.pm en su modo orientado a objetos:

Perl:
my $query = new CGI;

print Dumper( $query->param('mes') );
Mensaje Lun Jun 30, 2008 10:00 am
danimera
Perlero Adicto
Perlero Adicto
Registrado: 23 Jun 2005
Mensajes: 206
Ubicación: Colombia
Responder citando

Gracias, explorer, ya lo pude solucionar.
Publicar nuevo tema   Responder al tema    Foros de discusión -> Intermedio Todas las horas son GMT - 6 Horas
Página 1 de 1



Powered by phpBB © 2001, 2005 phpBB Group