[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Apache error con cgi y html



	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: jmiguel@dsa:/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.



Reply to: