Hola.
Mi problema es el siguiente.
En la universidad me han pedido que desarrolle una cgi en c, la cual, simplemente ha de coger los datos de un formulario(simplemente hay que indicar el nombre, y un texto con comentarios sobre la p_gina), y yo tengo que guardarlo en un archivo, y mandarle al usuario un documento html, en el que se le indique la haceptaci¢n de sus datos.
Es mi perimera cgi, osea que no tengo ni idea.
La cuesti¢n, es que al probarla,(ya configurado el apache, y habiendo metido la cgi en el directorio correspondiente del mismo(cgi-bin), al darle a submit en el formulario, no ocurre nada, me pono "listo" abajo a la izda. No se si es problema de que he hecho fatal la cgi, o de la configuraci¢n del servidor.
La implementaci¢n de la cgi es la siguiiente:
#include "cgic.h"
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
void nombre(){
char nombre[25];
int n,canal;
cgiFormString("nombre",nombre,25);
if((canal=open("home/H/apache/paginaWeb/comentarios.txt",O_WRONLY))==-1){
perror("error abriendo el fich");
}
if((n=write(canal,nombre,25))==-1){
perror("error escribiendo en el fichero");
}
if((n=write(canal,"\n",1))==-1){
perror("error metiendo salto de linea");
}
close(canal);
fprintf(cgiOut,"Nombre:%s<br>\n",nombre);
}
void comentario(){
char comentario[577];
int n,canal;
cgiFormString("comentario",comentario,577);
if((canal=open("/home/H/apache/paginaWeb/comentarios.txt",O_WRONLY))==-1){
perror("error abriendo el fich");
}
if((n=write(canal,comentario,577))==-1){
perror("error escribiendo en el fichero");
}
if((n=write(canal,"\n",1))==-1){
perror("error metiendo salto de linea");
}
close(canal);
fprintf(cgiOut,"Comentario:%s<br>\n",comentario);
}
int cgiMain(){
cgiHeaderContentType("text/html");
fprintf(cgiOut,"<html><head>\n");
fprintf(cgiOut,"<title>aceptaci¢n de envio</title></head>\n");
fprintf(cgiOut,"<body><h1>El envio ha sido haceptado</h1>\n");
nombre();
comentario();
fprintf(cgiOut,"</body></html>\n");
return 0;
}
Si alguien tiene idea de si he hecho mal la cgi o est_ medianamente bien, y si es problema de la configuraci¢n del servidor, y pq puede ser...
muchas gracias.
PD: Uso llamadas al sistema para escribir en los archivos(ope,write...), pq nos han puesto esa "condici¢n".