Lun Jun 30, 2008 7:55 am
|
 |
danimera
Perlero Adicto

|
Registrado: 23 Jun 2005
Mensajes: 206
Ubicación: Colombia
|
|
| Problema al obtener un valor de un formulario |
|
|
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? |
|
|
|

Lun Jun 30, 2008 8:35 am
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 3860
Ubicación: Valladolid, España
|
|
|
|
|
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. |
|
Lun Jun 30, 2008 9:09 am
|
 |
kidd
Creador de Perl en Español

|
Registrado: 15 Oct 2003
Mensajes: 1361
Ubicación: México
|
|
|
|
|
Un ejemplo de uso del CGI.pm en su modo orientado a objetos:
| Perl: | my $query = new CGI;
print Dumper ( $query-> param('mes') ); |
|
|
Lun Jun 30, 2008 10:00 am
|
 |
danimera
Perlero Adicto

|
Registrado: 23 Jun 2005
Mensajes: 206
Ubicación: Colombia
|
|
|
|
|
| Gracias, explorer, ya lo pude solucionar. |
|
Powered by phpBB © 2001, 2005 phpBB Group
|