• Publicidad

Ejecutar CGI paso parámetros formulario

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

Ejecutar CGI paso parámetros formulario

Notapor gonzalos » 2017-02-03 09:32 @439

Hola a todos.

Tengo un formulario en CGI al que se le pasan unos parámetros y quiero capturarlos para después generar un documento y ando haciendo pruebas.

Tengo este formulario:
Sintáxis: [ Descargar ] [ Ocultar ]
Using html4strict Syntax Highlighting
  1. <FORM name="formu" method="post" action="grupox.cgi" enctype="application/x-www-form-urlencoded">
  2.                           <input type="hidden" name="cod_dep" value="$CodDep">
  3.                           <input type="hidden" name="cod_invest" value="$CodInvest">
  4.                           <input type="hidden" name="palabra" value="$Palabra">
  5.                           <input type="hidden" name="cod_grupo" value="$CodGrupo">
  6.                           <input type="hidden" name="nombreG" value="$NombreGrupo">
  7.                           <input type="hidden" name="Tabla3" value="@miembros_nombre">
  8.         <center><B>
  9.               <TABLE><TR><TD>Nombre del grupo</TD> <TD><font face="Verdana, Arial, Helvetica, sans-serif" color="#000000" class="textoAzul">$NombreGrupo</font></TD></TR></TABLE>
  10.          </B></center><br><br>
  11.         <TABLE><TR><TD>Área de Conocimiento</TD> <TD>$table1</TD></tr></TABLE>
  12.         <center>
  13.                 <P>&nbsp;</P>
  14.                 <TABLE><TR><TD>Coordinador del grupo</TD> <TD>$table2</TD></tr></TABLE>
  15.           <P>&nbsp;</P>
  16.                   <P>&nbsp;</P>
  17.                 <TABLE><TR><TD>Ubicación</TD> <TD>$table6</TD></tr></TABLE>
  18.           <P>&nbsp;</P>
  19.                 <TABLE><TR><TD>Miembros</TD> <TD>$table3</TD></tr></TABLE>
  20.           <P>&nbsp;</P>
  21.                    <TABLE><TR><TD>Líneas de investigación</TD> <TD>$table4</TD></tr></TABLE>
  22.                            <P>&nbsp;</P>
  23.                    <TABLE><TR><TD>Departamento/Instituto</TD> <TD>$table7</TD></tr></TABLE>
  24.           <P>&nbsp;</P>
  25.                 <TABLE WIDTH="400" align="center">
  26.             <TR>
  27.               <td>
  28.                                                                                                            <!-- Cambiado alineación centro -->
  29.                                                                                                            <div align="center">
  30.                                                                                                                    <a href="javascript&#058;clickme('prueba.pl');">
  31.                                                                      <img border="0" height="20" width="84" src="/servicios/ui/grupos/imagenes/visualizar.gif" title="Visualizar los datos del grupo" alt="Visualizar los datos del grupo">
  32.                                                                                                                          </a>
  33.                                                                                                                  </div>
  34.                                                                                                          </td>
  35.               <TD valign="top" ALIGN="center">  
  36.                       <input  type="button" style="border: 0px none ; background-image: url(/servicios/ui/grupos/imagenes/borde_grande.jpg); font-weight: bold; font-size: 7px; color: rgb(102, 103, 102); width: 65px; background-repeat: no-repeat; height: 20px;" onclick="javascript&#058;document.formu.submit();"  value="Regresar" size="31">  
  37.               </TD>
  38.             </TR>
  39.           </TABLE>
  40.         </center>
  41.       </FORM>
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4

La página grupox, a la que apunta action, es la página principal la cual envía los datos a este formulario llamado ficha.cgi. Y pulsando el botón visualizar de este formulario ficha.cgi quiero ejecutar el script llamado prueba.pl que es, básicamente, el cgi mínimo. Pero al pulsar el botón visualizar no se me ejecuta el programa prueba.pl, quedándose la página tal y como está con el formulario indicado.

No consigo ver cuál es el error que provoca esto. ¿Alguna idea de lo que ocurre?

Saludos,
Gonzalo.
gonzalos
Perlero nuevo
Perlero nuevo
 
Mensajes: 77
Registrado: 2009-11-27 05:47 @283

Publicidad

Re: Ejecutar CGI paso parámetros formulario

Notapor explorer » 2017-02-03 15:51 @702

El problema creo que está en

<a href="javascript:clickme('prueba.pl');">

No sabemos qué es lo que hace la función clickme(). Debería hacer el envío del formulario 'formu', para que el CGI mínimo saque los campos de ese formulario.

Yo, además, lo escribiría así;

<a href="#" onclick="clickme('prueba.pl');">
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: Ejecutar CGI paso parámetros formulario

Notapor gonzalos » 2017-02-04 09:21 @431

Hola, explorer.

Muchas gracias por la respuesta, pruebo a modificar el enlace. Te explico más detalladamente: son 3 formularios. En el primero se introducen los datos, en el segundo se muestran los datos finales como se verían en la web y el tercer formulario sería el cgi mínimo.

La primera página que presenta el formulario modificable donde se introducen los datos y cuyo cgi se llama grupox.cgi tiene esta cabecera y los enlaces a los botones:
Sintáxis: [ Descargar ] [ Ocultar ]
Using html4strict Syntax Highlighting
  1. <form method="post" action="grupox.cgi" enctype="application/x-www-form-urlencoded" name="formu">
  2.  
  3. <td>
  4.                                                                                                            <div align="right">
  5.                                                                                                                    <a href="javascript&#058;updateGrupo();">
  6.                                                                      <img border="0" height="20" width="76" src="/servicios/ui/grupos/imagenes/guardar.gif" title="Guardar los datos del grupo" alt="Guardar los datos del grupo">
  7.                                                                                                                          </a>
  8.                                                                                                                  </div>
  9.                                                 <td>&nbsp;</td>                                                  </td>
  10.                                                                                                          
  11.                                                 <td>
  12.                                                                                                            <div align="right">
  13.                                                                                                                    <a href="javascript&#058;clickme('ficha.cgi');"">
  14.                                                                      <img border="0" height="20" width="76" src="/servicios/ui/grupos/imagenes/guardar.gif" title="Ficha con los datos del grupo" alt="Ficha con los datos del grupo">
  15.                                                                                                                          </a>
  16.                                                                                                                  </div>
  17.                                                                                                          </td>
  18.                            <td>&nbsp;</td>
  19.                            <td>
  20.                                                                                                            <!-- Cambiado alineacion centro -->
  21.                                                                                                            <div align="center">
  22.                                                                                                                    <a href="javascript&#058;clickme('imprimir_grupo.cgi');">
  23.                                                                      <img border="0" height="20" width="84" src="/servicios/ui/grupos/imagenes/visualizar.gif" title="Visualizar los datos del grupo" alt="Visualizar los datos del grupo">
  24.                                                                                                                          </a>
  25.                                                                                                                  </div>
  26.                                                                                        
  27.  
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4

Pulsando el botón ficha de los datos me dirige a la siguiente página que se llama ficha.cgi y que tiene los siguientes datos y enlace a los botones:
Sintáxis: [ Descargar ] [ Ocultar ]
Using html4strict Syntax Highlighting
  1.  <FORM name="formu" method="post" action="grupox.cgi" enctype="application/x-www-form-urlencoded">
  2. <td>
  3.                                                                                                            <!-- Cambiado alineación centro -->
  4.                                                                                                            <div align="center">
  5.                                                                                                                    <a href="javascript&#058;clickme('prueba.pl');">
  6.                                                                      <img border="0" height="20" width="84" src="/servicios/ui/grupos/imagenes/visualizar.gif" title="Visualizar los datos del grupo" alt="Visualizar los datos del grupo">
  7.                                                                                                                          </a>
  8.                                                                                                                  </div>
  9.                                                                                                          </td>
  10.               <TD valign="top" ALIGN="center">  
  11.                       <input  type="button" style="border: 0px none ; background-image: url(/servicios/ui/grupos/imagenes/borde_grande.jpg); font-weight: bold; font-size: 7px; color: rgb(102, 103, 102); width: 65px; background-repeat: no-repeat; height: 20px;" onclick="javascript&#058;document.formu.submit();"  value="Regresar" size="31">  
  12.               </TD>
  13.  
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

Siendo prueba.pl el nombre del cgi mínimo y el que no se ejecuta al pulsar el botón del formulario ficha.cgi.

La función clickme está definida como sigue:
Sintáxis: [ Descargar ] [ Ocultar ]
Using javascript Syntax Highlighting
  1. function clickme( ir_a )
  2.                                 {
  3.                                   if (navigator.userAgent.indexOf("Opera")<0)
  4.                                   {     updateGrupo(); }
  5.                                   document.formu.action = ir_a;
  6.                                   document.formu.submit();
  7.  
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Un saludo,
Gonzalo
gonzalos
Perlero nuevo
Perlero nuevo
 
Mensajes: 77
Registrado: 2009-11-27 05:47 @283


Volver a Web

¿Quién está conectado?

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