• Publicidad

Validar formulario

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Validar formulario

Notapor hippo » 2012-10-12 08:29 @395

¡¡Muy buenas!! Espero que me puedan ayudar con mi problema :mrgreen:

Pues resulta que tengo un formulario que funciona como login, y al validar el acceso lo hago desde ese mismo fichero. Entonces, si es erróneo me sale el error, pero si es correcto me gustaría que me enviara a otra página.

¿¿Cómo puedo hacerlo??

Saludos y gracias de antemano :D
hippo
Perlero nuevo
Perlero nuevo
 
Mensajes: 4
Registrado: 2012-10-12 08:24 @392

Publicidad

Re: Validar formulario

Notapor explorer » 2012-10-12 09:26 @435

Bienvenido a los foros de Perl en Español, hippo.

Podrías usar el método redirect() del módulo CGI:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
print  $q->redirect('http://somewhere.else/in/movie/land');
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


O podrías integrar la salida del archivo:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. use CGI ':standard';
  2.  
  3. # ...
  4.  
  5. # aquí llegamos si es correcta la identificación
  6. undef $/;                             # lectura del archivo de una sola vez
  7. open my $HTML, '<', 'inicial.html';   # lo abrimos
  8. print
  9.     header(),                         # cabecera HTTP de respuesta al navegador
  10.     <$HTML>,                          # leemos el archivo del disco y lo mandamos al navegador
  11.     ;
  12. close $HTML;                          # cerramos
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Seguro que hay más maneras...
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: Validar formulario

Notapor hippo » 2012-10-12 09:52 @453

Hola, gracias por tu ayuda.

He usado el método redirect() y me sale lo siguiente:

Status: 302 Found Location: loquesea.pl

y no me cambia el location ¿qué puede ser?
hippo
Perlero nuevo
Perlero nuevo
 
Mensajes: 4
Registrado: 2012-10-12 08:24 @392

Re: Validar formulario

Notapor explorer » 2012-10-12 10:16 @470

A redirect() le tienes que pasar la URL de la dirección destino.

Lo que te sale es lo que hay que enviar (con el print()) al navegador del usuario.
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: Validar formulario

Notapor hippo » 2012-10-12 10:33 @481

Lo he puesto así:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. use CGI;
  2.  
  3. $form = new CGI;
  4.  
  5. print $form->redirect('fichero.pl');
  6.  
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


¿Está mal?
hippo
Perlero nuevo
Perlero nuevo
 
Mensajes: 4
Registrado: 2012-10-12 08:24 @392

Re: Validar formulario

Notapor explorer » 2012-10-12 14:18 @637

Debes poner la URL completa:

print $form->redirect('http://mi.servidor/ruta_cgi/fichero.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: Validar formulario

Notapor hippo » 2012-10-12 16:10 @715

Bueno al final lo he solucionado... pero ahora me surge otro problema...

¿Cómo puedo codificar una URL con datos GET, para después decodificarla en el otro fichero?

He visto que existe uri_escape() pero la verdad es que no me aclaro.

Me gustaría que al redireccionar a esa página lo pase así:

fichero2.pl?name=pepe... -> esto codificado
hippo
Perlero nuevo
Perlero nuevo
 
Mensajes: 4
Registrado: 2012-10-12 08:24 @392

Re: Validar formulario

Notapor explorer » 2012-10-12 19:28 @853

En efecto, debes usar la función uri_escape() del módulo URI::Escape.

Solo tienes que pasarle el URL que quieres codificar y te lo devuelve URL-escapado.
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


Volver a Básico

¿Quién está conectado?

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