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
#!/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.