Retroceder   Foros del Web > Programación para sitios web > Perl y CGI

Respuesta
 
Herramientas Desplegado
Antiguo 23-jun-2002, 14:01   #1 (permalink)
uniyo está en el buen camino
 
Fecha de Ingreso: noviembre-2002
Mensajes: 3
500 Internal Server Error

Hola, estaba poniendo un cgi para que los usuarios puedan cargar fotos desde mi pagina, pero sale un error: 500 Internal Server Error.
En el archivo "error_log" aparece el mensaje: Premature end of script headers

Pueden decirme que esta mal?. el cgi es el siguiente:

#!/usr/bin/perl -w
use CGI;
$upload_dir = "/home/mywebsite/htdocs/upload";
$query = new CGI;
$filename = $query->param("photo"); $email_address = $query->param("email_address"); $filename =~ s/.*[\/\\](.*)/$1/; $upload_filehandle = $query->upload("photo");
open UPLOADFILE, ">$upload_dir/$filename";
while ( <$upload_filehandle> ) { print UPLOADFILE; }
close UPLOADFILE;
print $query->header ( ); print <<END_HTML;
<HTML> <HEAD> <TITLE>Thanks!</TITLE> </HEAD>
<BODY>
<P>Thanks for uploading your photo!</P> <P>Your email address: $email_address</P> <P>Your photo:</P> <img src="/upload/$filename" border="0">
</BODY> </HTML>
END_HTML;

Gracias
uniyo está desconectado   Responder Citando
Antiguo 24-jun-2002, 15:11   #2 (permalink)
MMontes está en el buen camino
 
Fecha de Ingreso: noviembre-2002
Mensajes: 415
Re: 500 Internal Server Error

la última línea esta mal.

si pones print <<BLA;

imprime el texto hasta que encuentra una linea que diga pura, única y exclusivamente "BLA". Y en la última línea dice "BLA;".

tenes que ponerlo asi:
Código:
</body></html>
END_HTML
;
MMontes está desconectado   Responder Citando
Antiguo 24-jun-2002, 23:20   #3 (permalink)
uniyo está en el buen camino
 
Fecha de Ingreso: noviembre-2002
Mensajes: 3
Re: 500 Internal Server Error

Bueno amigo, hice lo que dijiste, pero aun no funciona. El cgi quedo asi:

chmod 755 upload.cgi
#!/usr/bin/perl -w
use CGI;
$upload_dir = "/home/mywebsite/htdocs/upload";
$query = new CGI;
$filename = $query->param("photo"); $email_address = $query->param("email_address"); $filename =~ s/.*[\/\\](.*)/$1/; $upload_filehandle = $query->upload("photo");
open UPLOADFILE, ">$upload_dir/$filename";
while ( <$upload_filehandle> ) { print UPLOADFILE; }
close UPLOADFILE;
print $query->header ( ); print <<END_HTML;
<HTML> <HEAD> <TITLE>Thanks!</TITLE> </HEAD>
<BODY>
<P>Thanks for uploading your photo!</P> <P>Your email address: $email_address</P> <P>Your photo:</P> <img src="/upload/$filename" border="0">
</BODY> </HTML>
END_HTML
;

Yo supongo que el error es del cgi, por el mensaje: Premature end of script headers: /usr/local/psa/home/vhosts/mydomain.com/cgi-bin/upload.cgi

Gracias por tu interes MMontes, el cgi lo saque de http://www.webmasterbase.com/article.php?pid=0&aid=474 , tal vez si le das una ojeada ves que esta mal

Ahi nos vemos
Enrique
uniyo está desconectado   Responder Citando
Antiguo 25-jun-2002, 00:04   #4 (permalink)
MMontes está en el buen camino
 
Fecha de Ingreso: noviembre-2002
Mensajes: 415
Re: 500 Internal Server Error

Código:
#!/usr/bin/perl -w
use CGI;
$upload_dir = "/home/mywebsite/htdocs/upload";
$query = new CGI;
$filename = $query->param("photo"); $email_address = $query->param("email_address"); $filename =~ s/.*[\/\\](.*)/$1/; $upload_filehandle = $query->param  ("photo");
open UPLOADFILE, ">$upload_dir/$filename";
while ( <$upload_filehandle> ) { print UPLOADFILE; }
close UPLOADFILE;
print $query->header ( ); print <<END_HTML;
<HTML> <HEAD> <TITLE>Thanks!</TITLE> </HEAD>
<BODY>
<P>Thanks for uploading your photo!</P> <P>Your email address: $email_address</P> <P>Your photo:</P> <img src="/upload/$filename" border="0">
</BODY> </HTML>
END_HTML
;
no existe el metodo upload en el package CGI, no se de donde lo sacaron. Además, el param si es un archivo el parametro no es solo los datos sino un filehandle.

Deja bastante que desear el script, te recomendaría que busques alguno mejor, o -mejor aún- que te hagas uno a tu medida ;)
MMontes está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 15:21.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93