Foros del Web » Programación para mayores de 30 ;) » Programación General »

cgic

Estas en el tema de cgic en el foro de Programación General en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 11/04/2003, 06:00
Avatar de [-H-]  
Fecha de Ingreso: marzo-2003
Mensajes: 75
Antigüedad: 21 años, 2 meses
Puntos: 1
cgic

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".
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:03.