Foros del Web » Programación para mayores de 30 ;) » Programación General »

problema formulario perl

Estas en el tema de problema formulario perl en el foro de Programación General en Foros del Web. Quiero enviar un formulario por emeil y he buscado un codigo perl para poder hacerlo,pero no me funciona y no tengo claro si estan bien ...
  #1 (permalink)  
Antiguo 18/05/2009, 06:32
 
Fecha de Ingreso: marzo-2009
Mensajes: 31
Antigüedad: 15 años, 1 mes
Puntos: 1
problema formulario perl

Quiero enviar un formulario por emeil y he buscado un codigo perl para poder hacerlo,pero no me funciona y no tengo claro si estan bien las rutas que he modificado..

Me dice que tengo que modificar eso:
(he quitado los h,t,t,p://,w,w,w y el @ por lo del spam..)

# Location of Mail Program

$mailprog =i.com/html/sample.html

# Location where database file will be kept
# This directory must be 777

$datadir = "/data"

# Your servers domain
# This ensures that the form is submitted
# from your server.

$url = "m"



y el html:
(he modificado: /cgi-bin/dcforms98.cgi y arnauguellgmail.com)

HTML
HEAD
TITLEEMail Form Example/TITLE
/HEAD

BODY BGCOLOR="#FFFFFF"

FORM ACTION="calbacardi.com/cgi-bin/dcforms98.cgi" METHOD=POST

INPUT TYPE="hidden" name="param_recipient" value="al.comlgmail.com"
INPUT TYPE="hidden" name="param_subject" value="Survey Form"
INPUT TYPE="hidden" name="param_env_report" value=""
INPUT TYPE="hidden" name="param_order" value="Name,EMail,Location,Comment"
INPUT TYPE="hidden" name="param_database" value=""
INPUT TYPE="hidden" name="param_required" value="Name,EMail"

table border="0"
tr
th
Name:
/th
td
input type="text" name="Name" size="40"
/td
/tr
tr
th
EMail:
/th
td
input type="text" name="EMail" size="40"
/td
/tr
tr
th
Location:
/th
td
input type="text" name="Location" size="40"
/td
/tr
tr
th
Comment:
/th
td
textarea name="Comment" rows="4" cols="40"/textarea
/td
/tr
/table

INPUT TYPE=submit value="Submit Survey"
INPUT TYPE=reset value="Reset Form"
/FORM

/body
/html




muchas gracias

Última edición por arnair; 26/05/2009 a las 07:54
  #2 (permalink)  
Antiguo 18/05/2009, 12:04
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 2 meses
Puntos: 90
Respuesta: problema formulario perl

$mailprog = calbacardi.com/html/sample.html

???

El mailprog generalmente es algo como /usr/bin/sendmail

No es la dirección de tu formulario, es la dirección del programa para enviar mails...

__________________
Esteban Quintana
  #3 (permalink)  
Antiguo 18/05/2009, 14:37
 
Fecha de Ingreso: marzo-2009
Mensajes: 31
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: problema formulario perl

programa para enviar mails ?? yo creia que era el dcforms98.cgi xD
he encontrado este sendmail-8.14.3 en ...sendmail.org/releases/8.14.3 a este te refieres? que ruta tendria que poner?

Resumen de lo que hice:

1.He ido a ...perl.astalaweb.net/Correo%20-%20Formularios/1_Correo%20-%20Formularios.asp y he descargado el primer formulario

2.dentro hay dcforms98,readme,sample

3.he modificado el dcforms98 y el sample con el dremweaver

4.he copiado via ftpfilezilla dcforms98 en cgi-bin y el sample en html


en directorio / tengo las carpetas: logs,html,errors,data,cgi-bin he cambiado los permisos de data a valor777 en el readme sale data con 'D' no con 'd' y tampoco uso base de datos..

En el readmen sale:

DCForms98 contains following files:

1) dcforms98.cgi (755) - main script
2) sample.html - sample e-mail form page

################################################## #########################

Setting up DCForms98

Editing dcforms98.cgi

1) The very first statement

#!/usr/sbin/perl5

should correctly point to the location of
PERL 5 on your ISP's server.

2) Properly define location of Mail Program

$mailprog = '/usr/lib/sendmail';

3) If you intend on saving form data to a database, define
the ocation where database file will be kept THIS DIRECTORY MUST BE 777

$datadir = "./Data";

4) Define your server's domain name. This ensures that the form is submitted
from your server.

$url = "w,w,w,.yourdomain.com";

################################################## #########################

Installing DCForms98

1) Upload dcforms98.cgi to your cgi-bin directory
2) Chmod dcforms98.cgi to 755
3) If you will be using database option,
create a directoy named "Data" and set permission to 777
You can create this directory anywhere you want...just make sure
you define $datadir path in dcforms98.cgi file

PLEASE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!
- Make sure you use ASCII mode when you transfer these files
- Make sure your data directory is set to 777

################################################## #########################

Using DCForms98

Take a look at sample.html. You will need to embedd following hidden
variables in your Form html file.

1) param_recipient - recipient(s)' email addresses...delimit multiple emails by a comma
2) param_subject - Subject of the formmail
3) param_env_report - If you wish to record some environment variabls, list them here. If you don't know what environment variables are, leave the value blank
4) param_order - Order of fields you want to send...warning, case-sensitive. If you leave this blank, it will list all fields sorted by names
5) param_database - name of the data file you want to save form data
6) param_required - Fields required

################################################## ##########################


En la informacion de mi hosting dice:

CGI-BIN propio
Es el nombre de una carpeta especial dentro del espacio en disco de tu Web Hosting,
con permisos especiales, para que puedas publicar tus scripts en Perl o Python.
Te recomendamos el uso de dicha carpeta para ubicar todos tus scripts, dado que ya
tiene todos los permisos necesarios para que puedas ejecutarlos con total seguridad.

Última edición por arnair; 18/05/2009 a las 15:08
  #4 (permalink)  
Antiguo 19/05/2009, 06:05
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 2 meses
Puntos: 90
Respuesta: problema formulario perl

$mailprog = '/usr/lib/sendmail';

esa es la dirección del sendmail, en general...preguntale a tu administrador de hosting si es correcta...

también checkea lo de #!/usr/sbin/perl5 que es la dirección del intèrprete de perl...

luego sube el archivo cgi a la carpeta cgi y dale chmod755, a la data 777 y subí el formulario al directorio html...

Luego nos dices que tal...
Saludos
__________________
Esteban Quintana
  #5 (permalink)  
Antiguo 20/05/2009, 03:16
 
Fecha de Ingreso: marzo-2009
Mensajes: 31
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: problema formulario perl

me dicen:

En Piensa Solutions no disponemos de cgi preinstalados en nuestro sistema, pero podrás diseñar o adaptar los que encuentres en Internet para tu uso.

Si te decides por esto, debemos aclararte que no podremos ayudarte con su desarrollo, ya que no ofrecemos soporte sobre código.

De cualquier manera, para el uso de cgi en Piensa Solutions debes seguir las siguientes pautas:

- Incluir en el inicio del cgi la ruta del interprete de PERL:

#!/usr/bin/perl

- Si usas Sendmail para enviar correos, ten en cuenta que la ruta del mismo es:

/usr/sbin/sendmail

- Para evitar problemas con las compatibilidades de salto de carro entre Linux y otros Sistemas Operativos, debes subir tus ficheros en modo ASCII. Esta opción suele ser seleccionable en la mayoría de los programas clientes FTP.

-Debes subir tus cgi en el directorio cgi-bin que se encuentra en el raíz del espacio FTP de tu cuenta FTP Principal (Tipo P). Para llamarlos desde tu código usaras la ruta calbacardi.com/cgi-bin/script.cgi, donde script.cgi será el nombre de tu script.

-Debes darle permisos de ejecución (755) al cgi con tu programa FTP. Esta opción se encuentra en las propiedades de los archivos de la mayoría de los programas clientes de FTP.

-Por último, recordarte que, el servidor donde alojas tus páginas en Piensa Solutions es Linux, y distingue mayúsculas de minúsculas. Así que, por ejemplo, no será el mismo script.cgi que Script.CgI. Ten cuidado con este particular ya que te puede dar quebraderos de cabeza.
  #6 (permalink)  
Antiguo 20/05/2009, 06:22
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 2 meses
Puntos: 90
Respuesta: problema formulario perl

Está perfecto, con esos datos ya puedes subir el FormMail.pl, checkea el taller de este mismo subforo, hay una explicación de como subirlo y hacerlo funcionar...

Saludos
__________________
Esteban Quintana
  #7 (permalink)  
Antiguo 20/05/2009, 09:10
 
Fecha de Ingreso: marzo-2009
Mensajes: 31
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: problema formulario perl

me he bajado el formmail y he modificado:
@referers = ('','217.76.150.30');
$mailprog = '/usr/lib/sendmail'
y lo he subido a la carpeta cgi-bin como ascii(al cgi-bin y subdirectorios y ficheros les he puesto 777 todos los permisos)

y el formulario es este:(lo he subido a la capeta html)

(el infom se redirecciona a mi gmail)

<HTML>
<HEAD>
<TITLE>EMail Form Example</TITLE>
</HEAD>

<BODY BGCOLOR="#FFFFFF">

<FORM ACTION="...
<INPUT TYPE="hidden" name="recipient" value="inm">
<INPUT TYPE="hidden" name="param_subject" value="Survey Form">
<INPUT TYPE="hidden" name="param_env_report" value="">
<INPUT TYPE="hidden" name="param_order" value="Name,EMail,Location,Comment">
<INPUT TYPE="hidden" name="param_database" value="">
<INPUT TYPE="hidden" name="param_required" value="Name,EMail">

<table border="0">
<tr>
<th>
Name:
</th>
<td>
<input type="text" name="Name" size="40">
</td>
</tr>
<tr>
<th>
EMail:
</th>
<td>
<input type="text" name="EMail" size="40">
</td>
</tr>
<tr>
<th>
Location:
</th>
<td>
<input type="text" name="Location" size="40">
</td>
</tr>
<tr>
<th>
Comment:
</th>
<td>
<textarea name="Comment" rows="4" cols="40"></textarea>
</td>
</tr>
</table>

<INPUT TYPE=submit value="Submit Survey">
<INPUT TYPE=reset value="Reset Form">
</FORM>

</body>
</html>



Pero se queda en m/cgi-bin/FormMail.pl y no se envia el email, porque?

Muchas gracias

Última edición por arnair; 26/05/2009 a las 07:56
  #8 (permalink)  
Antiguo 21/05/2009, 06:13
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 2 meses
Puntos: 90
Respuesta: problema formulario perl

en el campo de recipient tienes repetida la dirección de email, igual eso no debería de molestar, aunque por la dudas poné una...

después veo todo bien...puedes decirnos que sucede cuando colocas enviar ? se queda en blanco ?

aparece algo en el log de apache ?

Saludos
__________________
Esteban Quintana
  #9 (permalink)  
Antiguo 21/05/2009, 06:52
 
Fecha de Ingreso: marzo-2009
Mensajes: 31
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: problema formulario perl

Cita:
en el campo de recipient tienes repetida la dirección de email, igual eso no debería de molestar, aunque por la dudas poné una...
igual..
Cita:
después veo todo bien...puedes decirnos que sucede cuando colocas enviar ? se queda en blanco ?
si, puedes verlo e.com/sample.html
Cita:
parece algo en el log de apache ?
si, access_log.20090512

Última edición por arnair; 26/05/2009 a las 07:56
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:06.