Hola:
                Estoy intentando crear p�ginas web din�micas usando formularios 
y CGI's, segun un articulo de Solo Programadores Linux. Esto consta de dos 
ficheros: [EMAIL PROTECTED]:/usr/lib/cgi-bin/empleados$ ls -a
                .  ..  ficha_empleado.cgi
/var/www/empleados/ficha.html
        El proceso es el siguiente: arranco el netscape ejecuto el fichero 
ficha.html, introduzco los datos del formulario y pulso en el bot�n enviar del 
formulario. Todo parece funcionar bien se ejecuta el fichero 
ficha_empleado.cgi, pero cuando me tiene que responder, que todo se ha 
ejecutado satisfactoriamente, me aparece una pantalla de error similar a esto:
        Netscape:subprocess diagnostics (stdout/stderr)
        una serie de n�meros como:
        7 [K [0;40m [37m [0;40n [37m etc ......
        Datos dados de alta satisfactoriamente. [0;40m
        otra retaila de n�meros. Y en la ultima linea
        Read /tmp/MO3AD59F001501B3.cgi, 3 lines, 42 chars [0;40m [37m etc ..

        Alguien me puede indicar como puedo corregir esto.
        Adjunto los ficheros: ficha_empleados.cgi, y ficha.html
                Un saludo y gracias.

Title: Formulario de ejemplo

Datos del empleado

Nombre
Primer apellido..
Segundo apellido.
Nombre...........
D.N.I............

Departamento
Contabilidad I+D Direcci�n

Estado Laboral
En activo Baja Vacaciones

Comentarios
Introduzca qui los comentarios oportunos

#!/bin/sh
# Script que a�ade los datos del empleado pasados por la $QUERY_STRING al
# fichero empleados.db si no existe el registro. En caso contrario,
# devuelve un mensaje de error.
echo Content-Type:text/plain
echo
echo
echo
apell1=`echo $QUERY_STRING | cut -f1 -d"&" | cut -f2 -d"="`
apell2=`echo $QUERY_STRING | cut -f2 -d"&" | cut -f2 -d"="`
nombre=`echo $QUERY_STRING | cut -f3 -d"&" | cut -f2 -d"="`
dni=`echo $QUERY_STRING | cut -f4 -d"&" | cut -f2 -d"="`
estadocivil=`echo $QUERY_STRING | cut -f5 -d"&" | cut -f2 -d"="`
dpto=`echo $QUERY_STRING | cut -f6 -d"&" | cut -f2 -d"="`
act=`echo $QUERY_STRING | cut -f7 -d"&" | cut -f2 -d"="`
coment=`echo $QUERY_STRING | cut -f8 -d"&" | cut -f2 -d"="`
# Miramos si ya existe este empleado
tmp=`cat /usr/lib/cgi-bin/empleados/empleados.db | grep $dni`
if [`echo $tmp` !=""]
then
        echo Los datos de este empleado ya han sido dados de alta
        exit
fi

# Usaremos el simbolo - para delimitar los campos en el fichero
# El formato ser� el de una tabla con los campos introducidos tal como
# vienen en la $QUERY_STRING
ficha=`echo $apell1`_`echo $apell2`_`echo $nombre`_`echo $dni`_`echo
$estadocivil`_`echo $dpto`_`echo $act`_`echo $coment`

# Ahora se a�aden los datos nuevos al fichero existente (o se crea uno
# nuevo si no existiera)
echo $ficha>>/usr/lib/cgi-bin/empleados/empleados.db
echo Datos dados de alta satisfactoriamente.


Responder a