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

Problemas con cibertienda

Estas en el tema de Problemas con cibertienda en el foro de Programación General en Foros del Web. -------------------------------------------------------------------------------- Saludos a todos, Estoy desarrollando una cibertienda, con el programa cibertienda v.1.0, y pasandola despues al Dreamweaver, editando diseño,etc. Bueno al grano. Todo funciona ...
  #1 (permalink)  
Antiguo 10/11/2004, 06:24
 
Fecha de Ingreso: noviembre-2004
Mensajes: 9
Antigüedad: 20 años
Puntos: 0
Problemas con cibertienda

--------------------------------------------------------------------------------

Saludos a todos,

Estoy desarrollando una cibertienda, con el programa cibertienda v.1.0, y pasandola despues al Dreamweaver, editando diseño,etc.
Bueno al grano. Todo funciona correctamente, excepto una cosa (la más importante) cuando rellenan el formulario de pedido y le dan a enviar ocurre dos cosas:
1ª no recibo el pedido por mail ni por ningun otro sitio
2ª al clicar en "enviar formulario" nos remite a una pagina inexistente, www.misitio.com/enviar.pl

Esto de enviar.pl no se que es ni de donde sale. Por otra parte, hay que cambiar algo en Ubicación de Perl y ruta al CGI??

Como vereis estoy bastante perdido. Os agradeceré cualquier información.

Gracias.
  #2 (permalink)  
Antiguo 10/11/2004, 08:08
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 9 meses
Puntos: 90
Esa dirección,www.misitio.com/enviar.pl, es la que tienes en el action del formulario ??

en el action del form debes colocar la url del script que enviará ese carrito por mail, generalmente es el mismo script que hace el carrito para que además de mandar el mail vacíe el carrito para que el usuario pueda hacer una nueva compra...

Fijate bien que el carrito debe tener una función para enviar el carro...

Saludos
__________________
Esteban Quintana
  #3 (permalink)  
Antiguo 10/11/2004, 10:38
 
Fecha de Ingreso: noviembre-2004
Mensajes: 9
Antigüedad: 20 años
Puntos: 0
Bueno, creo que casi lo tengo...
Lo primero: Muchas gracias monoswim.
Lo segundo es que he subido un script al cgi de mi ftp. Hasta ahí todo correcto.
El problema es que cuando hago clic en enviar formulario me remite a www.misitio.com/enviar.pl y, en vez de darnos pagina no encontrada como antes, ahora nos carga "algo" pero nos da un error de "500 Internal Server Error" y "Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request."
Logicamente, no se a que se debe este error.
Si me podeis echar una mano como antes...

Gracias
  #4 (permalink)  
Antiguo 10/11/2004, 12:07
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 9 meses
Puntos: 90
pero tu nombre de dominio es www.misitio.com o lo pone en general el script, porque de ser así debes cambiarlo por tu verdadero dominio...

Los errores que te manda pueden ser por multiples razones como ser que no encuentre el script, que tenga un error de sintaxis, que no encuentre el interprete de perl que está en la primera línea del script...

Pero para darte cuenta que es debes ver el error log de tu servidor, cada servidor tiene un errorlog.txt en donde almacena el error exacto que sucedió y la fecha exacta...

Así que fijate ahí y avisame...

Saludos
__________________
Esteban Quintana
  #5 (permalink)  
Antiguo 11/11/2004, 04:39
 
Fecha de Ingreso: noviembre-2004
Mensajes: 9
Antigüedad: 20 años
Puntos: 0
Hola Monoswim

Sigo en el mismo sitio, ya no entiendo nada.

En el script sí que está puesto mi verdadero dominio que realmente es motoroom.net.

Sobre el error... pues creo que sí encuentra el script pero no sé si tiene algún error de sintaxis, y el interprete de perl está en la primera linea del script con lo que yo diria que lo tiene que encontrar.

Acerca del errorlog.txt mi servidor me ha dicho que no tengo acceso a él, no sé si eso es normal, de todas formas le he proporcionado la URL donde ocurre el error y me tiene que contestar.

Si quieres que te pase el script o cualquier otra cosa solo dimelo.

Muchas gracias.
  #6 (permalink)  
Antiguo 11/11/2004, 04:58
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 9 meses
Puntos: 90
si, pásamelo por mail a estebanquintana @ wpymes.com (sin espacios) y la verdad es que si, deberías tener acceso al error log, fíjate que en el FTP debería estar en la carpeta raiz, la primera que vez en el FTP, lo que si via navegador no debes tener acceso, eso es verdad...

Espero el script...

Saludos
__________________
Esteban Quintana
  #7 (permalink)  
Antiguo 11/11/2004, 07:45
 
Fecha de Ingreso: noviembre-2004
Mensajes: 9
Antigüedad: 20 años
Puntos: 0
casi casi

hola otra vez

Bueno, sabiendo que el script está bien descarto que el problema venga por ahí.

Pero hay una cosa que no sabes (logicamente yo no lo he dicho) trabajo bajo entorno Windows.

Con lo que el tema ejecuciones CHMO755.... pues como que me queda un poco grande.

Sabes como dar permisos de ejecucion con Windows XP??

Gracias de nuevo.
  #8 (permalink)  
Antiguo 11/11/2004, 07:58
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 9 meses
Puntos: 90
hhhhaaaaa!!!!!!!! estás bajo windows ????????????

Entonces ese script no te servirá para nada !!!!!!

porque está hecho para linux, fíjate que #!/usr/bin/perl es una dirección de linux, en windows sería c:/perl/bin/perl.exe

pero además usa el programa sendmail que en windows no existe, así que tendrás que fabricarte tu propioi enviar.pl para windows...Pero no te asustes que no es complicado para nada, en http://perlenespanol.baboonsoftware....ut/000050.html tienes un tutorial que te explica como hacerlo !!!

Saludos !!!!!
__________________
Esteban Quintana
  #9 (permalink)  
Antiguo 11/11/2004, 10:13
 
Fecha de Ingreso: noviembre-2004
Mensajes: 9
Antigüedad: 20 años
Puntos: 0
Me estoy volviendo loco

Hola otra vez Monoswim, siento ser pesado.

He pillao el script de donde me has dicho antes. Y ciertamente estoy más perdido que antes.

Te pongo el script:

#!/usr/bin/perl -w
use strict;
use Mail::Sendmail;


my %mail = (
To => '[email protected]',
From => 'motoroom.net',
Subject => 'Envio de Formulario',
Message => 'Mi mensajes',
Smtp => 'mail.motoroom.net'
);


unless (sendmail(%mail)) {
# Error!
print "ERROR\n";
exit(1);
}

# Envío correcto.
print "OK\n";
exit(1);


Yo estoy seguro de que falta más de una cosa. El problema es que no tengo ni idea, es mi primera cibertienda, y creo que he ido demasiado rapido.

Si me puedes ayudar te lo volveré a agradecer muchisimo
  #10 (permalink)  
Antiguo 11/11/2004, 11:26
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 9 meses
Puntos: 90
ese script está perfecto, solo que en la primera linea dice #!/usr/bin/perl -w y debe decir c:/perl/bin/perl.exe

Además fíjate que el servidor en donde lo ejecutes debe tener el módulo use Mail::Sendmail instalado...

Primero hacé andar ese programa, y después lo vamos cargando de cosas...Te parece ?

Saludos
__________________
Esteban Quintana
  #11 (permalink)  
Antiguo 11/11/2004, 11:29
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 9 meses
Puntos: 90
epa, está así en el tutorial de kidd, le voy a avisar de ese error!
__________________
Esteban Quintana
  #12 (permalink)  
Antiguo 11/11/2004, 11:44
 
Fecha de Ingreso: noviembre-2004
Mensajes: 9
Antigüedad: 20 años
Puntos: 0
Hola de nuevo, mi servidor si que tiene instalado el sendmail.

He hecho el cambio de #! por C:\ y la cosa sigue igual de mal.

De todas formas de lo poco que me he enterado mirando aqui y alla, este script me sirve para recibir el formulario en mi mail?
  #13 (permalink)  
Antiguo 12/11/2004, 04:57
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 9 meses
Puntos: 90
no, pero eso se hace simplemente agregando esta parte

Código:
if ($ENV{'REQUEST_METHOD'} eq 'POST') {
  read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
} else {
  $buffer = $ENV{'QUERY_STRING'};
}
@pairs = split(/&/, $buffer);
foreach $pair (@pairs) {
  ($name, $value) = split(/=/, $pair);
  $name =~ tr/+/ /;
  $name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
  $value =~ tr/+/ /;
  $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
  $FORM{$name} = $value;
}
Con lo del intérprete debes preguntarles a los que te dan el hosting cual es la ubicación del intérprete.

Saludos
__________________
Esteban Quintana
  #14 (permalink)  
Antiguo 12/11/2004, 04:59
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 9 meses
Puntos: 90
Con ese código creas una variable hash que tendrá almacenado todos los Pares de nombre=valor de la forma

$FORM{'nombre'} = 'Esteban';

Por los garabatos raros no te hagas problemas....

Saludos
__________________
Esteban Quintana
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 23:18.