Hola a todos/as,
Soy nuevo en esto , y he intentado hacer pruebas con unos cgis copiados de un libro ("Superutilidades para Webmasters"), muy interesantes en la teoría, en la que el usuario puede generar las bd que desee desde un html, y trabajar con ellas posteriormente.
Cuando rellenamos los datos en el html, llama a "crearbd.cgi":
#!/usr/bin/perl
require 'cgi-lib.cgi';
&obtenparametros;
print "Content-type: text/html\n\n";
$nombres=$entrada{'nombrecampos'};
$clases=$entrada{'clasecampos'};
$tipos=$entrada{'tipocampos'};
$basedatos=$entrada{'basededatos'};
$ident=$entrada{'identificacion'};
$f_creac=$entrada{'fecha_creacion'};
$f_modif=$entrada{'fecha_modificacion'};
$fichero='>'.$basedatos.'.cfg';
open (CONFIG,$fichero);
@nombres=split(/\|/,$nombres);
@clases=split(/\|/,$clases);
@tipos=split(/\|/,$tipos);
$cadenanombres="\@nombre_campos= (\"$ident\" ";
$cadenamultiples="\@campos_multiples= ( ";
$cadenanumericos="\@campos_numericos= ( 0 ";
$cadenafechas="\@campos_fecha= (";
$cadenaimagenes="\@campos_imagen=( ";
$cadenareferencias="\@campos_referencia=( ";
for ($i=0;$i<=$#nombres;$i++)
{
$num_campo=$i+1;
$cadenanombres.=", \"$nombres[$i]\" ";
if ($clases[$i] eq 'numero')
{
$cadenanumericos.=", $num_campo ";
}
elsif ($clases[$i] eq 'fecha')
{
$cadenafechas.=" $num_campo ,";
}
elsif ($clases[$i] eq 'enlace')
{
$cadenareferencias.=" $num_campo ,";
}
elsif ($clases[$i] eq 'imagen')
{
$cadenaimagenes.=" $num_campo ,";
}
if ($tipos[$i] eq 'vm')
{
$cadenamultiples.=" $num_campo ,";
}
}
$num_fcrea=$i+1;
$num_fmodif=$i+2;
print CONFIG "\$campo_id = 0; \n";
print CONFIG "\$campo_fecha_creac = $num_fcrea; \n";
print CONFIG "\$campo_fecha_modif = $num_fmodif; \n\n";
$cadenanombres.= ", \"$f_creac\" , \"$f_modif\" ); \n\n";
print CONFIG $cadenanombres;
$cadenafechas.= " $num_fcrea , $num_fmodif); \n";
print CONFIG $cadenafechas;
$cadenanumericos.= "); \n";
print CONFIG $cadenanumericos;
chop ($cadenareferencias);
$cadenareferencias.= "); \n";
print CONFIG $cadenareferencias;
chop ($cadenaimagenes);
$cadenaimagenes.= "); \n\n";
print CONFIG $cadenaimagenes;
chop ($cadenamultiples);
$cadenamultiples.= "); \n";
print CONFIG $cadenamultiples;
close(CONFIG);
print <<FIN_TEXTO
<HTML>
<HEAD><TITLE>CREACION DEL ESQUEMA DE LA BASE DE DATOS</TITLE></HEAD>
<BODY>
<H2 align="center">La base de datos ha sido creada con éxito</H2>
<p align=center>
Pulse <A HREF="../html/menu.html">aqui</A> para entrar en el menu...
</BODY>
</HTML>
FIN_TEXTO
;
... y el servidor me da este error:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
--------------------------------------------------------------------------------
Apache Server at eoficina.es Port 80
--------------------------------------------------------------------------------
Lo que ya he hecho:
- Los cgis los subo vía ftp en modo ASCII,
- Los permisos que les doy son chmod 755,
- Controlo las mayúsculas / minusculas
En fin, os agradezco de antemano vuestra ayuda.
Un saludo,
Jaime