• Publicidad

Formulario en CGI

Todo lo relacionado con el desarrollo Web con Perl: desde CGI hasta Mojolicious

Formulario en CGI

Notapor BigBear » 2010-04-22 13:06 @587

Hola a todos.

Quiero hacer un formulario totalmente en CGI, o sea, que todo sea en un mismo archivo y no poner archivo HTML externos.

¿Alguien conoce alguna manera?

PD: también me gustaría saber dónde encuentro un manual para usar un CGI en vez de archivos externos html.
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818

Publicidad

Re: Formulario en CGI

Notapor ficovh » 2010-04-22 14:38 @651

CGI.pm es tu amigo, http://perldoc.perl.org/CGI.html

Aunque en estos días, es mejor usar alguna sistema de plantillas como Template Toolkit, HTML-Template y usar Perl para pasar información a ellas.

Saludos.
ficovh
Perlero nuevo
Perlero nuevo
 
Mensajes: 13
Registrado: 2007-04-11 20:37 @900

Re: Formulario en CGI

Notapor explorer » 2010-04-22 15:24 @683

Mira la sinopsis del módulo CGI, donde hay un ejemplo de cómo crear información HTML a partir de funciones del módulo.

Para lo del formulario... enlazas el formulario desde otra página. Al principio del programa compruebas el valor de los parámetros que el usuario te haya pasado (con params(), por ejemplo). En la primera invocación, no habrá nada, así que sabrás que tienes que pintar el formulario vacío. Pero si hay parámetros, es que el usuario ha recargado la página o ha pulsado el botón de envío. Esto último también lo compruebas mirando el param() correspondiente, y actúas según el caso.

Mira mi CGI mínimo, donde puedes ver cómo se accede a los parámetros.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Formulario en CGI

Notapor danimera » 2010-04-24 01:02 @085

Doddy escribiste:Hola a todos.

Quiero hacer un formulario totalmente en CGI, o sea, que todo sea en un mismo archivo y no poner archivo HTML externos.

¿Alguien conoce alguna manera?

PD: también me gustaría saber dónde encuentro un manual para usar un CGI en vez de archivos externos html.


Pues FormBuilder te ayuda con eso fácilmente. Ejemplo de formulario:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/perl
  2.  
  3. use CGI::FormBuilder;
  4.  
  5. @fields = qw(first_name last_name email phone);
  6.  
  7. $form = CGI::FormBuilder->new(
  8.              fields => \@fields,
  9.         );
  10.  
  11. if ($form->submitted && $form->validate) {
  12.     # you would write code here to act on the form data
  13.     $fname = $form->field('first_name');
  14.     $lname = $form->field('last_name');
  15.  
  16.     print $form->confirm(header => 1);
  17. } else {
  18.     print $form->render(header => 1);
  19. }
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


Este te genera todo el HTML solo,
http://www.formbuilder.org/tutor/index.pl?c=1&s=2
100% Telch - Perl Web Programming
Cali PerlMongers: http://cali.pm.org
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia

Re: Formulario en CGI

Notapor marcmb » 2010-05-13 11:11 @507

¿Alguien sabe cómo hacer para que cuando apretemos el botón de mandar el formulario ejecute una función de Perl?
(usando CGI, no FormBuilder)
De momento lo he echo así y funciona, pero no se si es la mejor manera:

if (param('enviar')) #enviar es el nombre del botón de envio
{
#Comprobación de los campos rellenados;
}


Gracias de antemano.
Avatar de Usuario
marcmb
Perlero nuevo
Perlero nuevo
 
Mensajes: 55
Registrado: 2010-05-03 07:42 @362
Ubicación: Girona


Volver a Web

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 3 invitados