BandaAncha

  • 🔍 en 📰 artículos ⏎
  • 🔍 en 💬 foros ⏎
  • 🔍 en 👇 este 💬 foro ⏎
  • 🔍 en 👇 este 💬 tema ⏎
Regístrate Regístrate Identifícate Identifícate

Os pido ayuda con un cgi para formulario HTML

BocaDePez

Buenas a todo el mundo. Primero quiero presentarme, soy ignorante en temas informáticos, y lo que sé lo he aprendido digamos "a lo burro" por necesidades de mi trabajo como documentalista en el Consejo Superior de Investigaciones Científicas. A trancas y barrancas, y con muy poco apoyo informático, he desarrollado y mantengo la web de la red de bibliotecas de mi institución. En más de una ocasión he tenido que apañármelas con cgis para formularios de la web, pero ahora me encuentro con caso diferente, ya que tengo que hacer un cgi para una máquina Linux, que está en una empresa de hosting de sitios web.

La pregunta que voy a hacer ya la ha formulado aquí un compañero del foro, le pedí que lo hiciera porque me corría mucha prisa. Ahora la vuelvo a repetir, y por favor os pido que me respondáis en un nivel bajito, ya que yo sé muy poco de perl.

He hecho los cambios que me indicó amablemente bocadepez, así que os vuelvo a copiar aquí mi cgi "corregido", y el formulario. El hosting es generalista, no tengo otra opción de momento.

Muchas gracias a todos, me haríais un gran favor si pudiéseis echarme una mano con esto, que me tiene ya desesperada.

Ah, y quiero deciros que entro en este foro que sé que está por encima de mi nivel, porque en los de principiantes nadie me contesta.

Este es el formulario:

enviar a INéDITO

..Nombre

..., E-mail

...............................................................Web, blog...

Título de la obra que adjuntas

Si la obra no es tuya:

.....Autor

.....Título

Dónde ha aparecido o ha sido publicada con anterioridad

.................................................Adjunta aquí el fichero

...............................................................Comentarios

Y este es el cgi: (sé que la línea progmail está mal, pero no sé cómo he de escribirla)

#!/usr/bin/perl

# Definicion del programa para enviar correo, debe dejarse sin cambios

$progmail = '/usr/sbin/sendmail';

#Usuario al que se enviaran los mensajes. Debe poner su alias de correo electronico

$ destino = 'manuellopezrey@gmail.com';

#Indica que se trata de un documento HTML

print "Content-type: text/html\n\n";

# Obtiene la entrada

read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});

#Divide las variables entre nombre y valor

@pairs = split(/&/, $buffer);

# Obtiene todas las variables y sus valores

foreach $pair (@pairs)

{

($name, $value) = split(/=/, $pair);

$value =~ tr/+//;

$value = ~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;

$FORM{$name} = $value;

}

# Ahora enviamos el mail al $destino

open (SALIDA, "|$progmail $destino") || die "No puedo abrir $progmail!\n";

print SALIDA "Content-type: text/plain; charset=\"iso-8859-1\"\n";

print SALIDA "To: manuellopezrey\@gmail.com\n";

print SALIDA "Reply-to: $FORM{'email'} ($FORM{'nombre'})\n";

print SALIDA "Subject: Enviar a Inedito\n";

print SALIDA "-----------------------------------------------------------------------------\n";

print SALIDA "Nombre: $FORM{'nombre'}\n";

print SALIDA "E-mail: $FORM{'email'}\n";

print SALIDA "Web, blog...: $FORM{'web'}\n";

print SALIDA "Titulo de la obra que adjuntas: $FORM{'titulo'}\n";

print SALIDA "-----------------------------------------------------------------------------\n";

print SALIDA "Si la obra no es tuya\n";

print SALIDA "Autor: $FORM{'autor'}\n";

print SALIDA "Titulo: $FORM{'titulo2'}\n";

print SALIDA "Dónde ha aparecido o ha sido publicada con anterioridad: $FORM{'donde'}\n";

print SALIDA "Adjunta aquí tu fichero: $FORM{'file'}\n";

print SALIDA "Comentarios: $FORM{'comentarios'}\n";

close (SALIDA);

print "

print "\n";

print "\n";

print "\n";

print "\n";

print " ";

print " \n";

print " \n";

print "

Tu formulario se ha enviado correctamente. Muchas gracias.

\n";

print "\n";

print "\n";

Este tema está cerrado a nuevas respuestas. Abre un nuevo tema para retomar la conversación.
BocaDePez

Sigue tratando el tema en el hilo inicial por favor, y detalla tus progresos y errores.

En este foro está prohibido abrir 2 hilos para lo mismo.

🗨️ 3
BocaDePez

No seas tan tiquismiquis y ayuda a la muchacha, hombre.

"El saber se demuestra compartiendolo con los demas, no abroncandoles por su ignorancia"

🗨️ 2
BocaDePez

No sé de donde sacas que sea una chica ... y ya ayudé; todavía estoy esperando que me responda en el otro hilo. :-/

🗨️ 1
grifa

¿sera por esto ? Muchas gracias a todos, me haríais un gran favor si pudiéseis echarme una mano con esto, que me tiene ya desesperada

djnacho

Por favor, no abras dos hilos para comentar el mismo problema. Seguramente, no te han contestado, porque aún no ha entrado nadie que sepa de formularios HTML, o que haya estado de vacaciones, pero...., seguramente alguien te eche una mano, en el otro hilo.

Cierro este, para que no haya duplicación de información en el foro.

Un saludo :)