CGI - Redireccionar Formmail

 
Vista:

Redireccionar Formmail

Publicado por Matahi (1 intervención) el 31/01/2006 16:45:42
Hola:

Estoy usando una versión de formmail que me devuelve a mi u correo html y al cliente páginas en html con los resultados.

El caso es que quiero que si un campo queda vacío se redireccione el formulario a otra url "x" en vez de crearse una página adhoc que de momento no tengo npi de como personalizar. Hasta entonces me gustaría cargarme la instrucción que dice "&blank_response unless $FORM{'realname'};" y susutituirla por algo me redireccione a http://www.midominio.com por ejemplo.

Si alguien puede contestarme con un ejemplo mejor que mejor.

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Redireccionar formulario a otra URL si un campo está vacío

Publicado por Alejandro (140 intervenciones) el 24/08/2023 22:32:18
Para redireccionar el formulario a otra URL si un campo está vacío en lugar de mostrar una página ad hoc, puedes realizar una validación en el script CGI y, si el campo está vacío, enviar una redirección HTTP al navegador del cliente. Aquí tienes un ejemplo de cómo podrías hacerlo utilizando Perl en un script CGI:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/usr/bin/perl
 
use strict;
use warnings;
 
use CGI;
 
my $cgi = CGI->new;
 
# Obtener los datos del formulario
my $realname = $cgi->param('realname');
 
# Validar si el campo está vacío
if (!defined $realname || $realname eq '') {
    # Realizar una redirección a la URL deseada
    print $cgi->redirect('http://www.midominio.com');
    exit;
}
 
# Si el campo no está vacío, continuar con el procesamiento del formulario
 
# ... Aquí puedes realizar otras acciones o enviar una respuesta
 
print $cgi->header(-type => 'text/html');
print "<html><head><title>Formulario Enviado</title></head><body>";
print "<h1>Formulario Enviado Exitosamente</h1>";
print "<p>Gracias por enviar el formulario.</p>";
print "</body></html>";

En este ejemplo, el script CGI verifica si el campo 'realname' está vacío. Si está vacío, envía una redirección HTTP al navegador del cliente usando la función `redirect()` de la biblioteca CGI. Si el campo no está vacío, el script continúa con el procesamiento normal del formulario y envía una respuesta HTML al cliente.

Asegúrate de adaptar este ejemplo al código existente de tu script CGI y de usar la biblioteca CGI o cualquier otra biblioteca de manejo de formularios que estés utilizando en tu proyecto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar