para este año tengo un proyecto de armar una pagina web ( sencilla ) de una libreria. hay una seccion en la pagina en la cual se tiene que poder ingresar libros y guardarlos en el cgi para que luego sean mostrados en el catalogo. lo unico es que no c como hacer para que me guarde los datos en un archivo .txt , en la clase hicimos un ejemplo pero era solo de como despues de ingresar los datos mostrarlos... asi que si alguien me puede ayudar se lo agradezco mucho
lo que tengo hasta ahora del archivo es esto (si hay algo q no tiene nada q ver y lo puedo sacar avisen plz xD)
Cita:
# include <stdio.h>
# include <string.h>
# include <conio.h>
# include <stdlib.h>
int cargarcampo(char *, char *, char *);
struct st_libros{
char nombre[50];
char autor[50];
char genero[50];
};
main (){
char *qstr;
struct st_libros libro;
FILE *fichero;
fichero=fopen("libros.txt","a");
qstr=getenv("query_string");
printf("content-type.text/html\n\n");
printf("<html><body>");
printf("el dato query string recibido es: <br> %s", qstr);
printf("</body></html>");
cargarcampo(qstr,"nombre",libro.nombre);
cargarcampo(qstr,"autor",libro.autor);
cargarcampo(qstr,"genero",libro.genero);
}
int cargarcampo(char *cadena, char *campobusc, char *valorcampo)
{
char *primcar;
char *p;
primcar = strstr(cadena, campobusc);
if (primcar==NULL)
return 0;
else
{
for (p=primcar; *p!='='; p++);
p++;
while (*p!='&' && *p!='\0')
{
if (*p == '+')
*valorcampo = ' ';
else
*valorcampo = *p;
valorcampo++;
p++;
}
*valorcampo = '\0';
return 1;
}
}
# include <string.h>
# include <conio.h>
# include <stdlib.h>
int cargarcampo(char *, char *, char *);
struct st_libros{
char nombre[50];
char autor[50];
char genero[50];
};
main (){
char *qstr;
struct st_libros libro;
FILE *fichero;
fichero=fopen("libros.txt","a");
qstr=getenv("query_string");
printf("content-type.text/html\n\n");
printf("<html><body>");
printf("el dato query string recibido es: <br> %s", qstr);
printf("</body></html>");
cargarcampo(qstr,"nombre",libro.nombre);
cargarcampo(qstr,"autor",libro.autor);
cargarcampo(qstr,"genero",libro.genero);
}
int cargarcampo(char *cadena, char *campobusc, char *valorcampo)
{
char *primcar;
char *p;
primcar = strstr(cadena, campobusc);
if (primcar==NULL)
return 0;
else
{
for (p=primcar; *p!='='; p++);
p++;
while (*p!='&' && *p!='\0')
{
if (*p == '+')
*valorcampo = ' ';
else
*valorcampo = *p;
valorcampo++;
p++;
}
*valorcampo = '\0';
return 1;
}
}