Pb avec cgi(urgent)!!!

Signaler
Messages postés
8
Date d'inscription
vendredi 14 janvier 2005
Statut
Membre
Dernière intervention
1 avril 2005
-
Messages postés
12
Date d'inscription
mercredi 26 mai 2004
Statut
Membre
Dernière intervention
3 mai 2005
-
Je souhaiterais avoir de l'aide concernant les cgi.
J'ai fait du code en html et je dois récupérer les information remplis par l'utilisateur, et ceci doit être fait en cgi..
Ensuite je dois les stocker dans une base de données.
Et mon problème est surtout au niveau des cgi, alors si quelqu'un pourrais m'aider en me guidan ou en donnant du code se serait sympat!!!
Merci d'avance pour l'aide que vous pourrez m'apporter.

1 réponse

Messages postés
12
Date d'inscription
mercredi 26 mai 2004
Statut
Membre
Dernière intervention
3 mai 2005

Salut !

J'imagine que si tu poste ici c'est que tu veux écrire un CGI en C donc je vais te donenr un coup de main en te donnant qqs indices en C.

Si tu as plus de 255 caractères à transmettre à ton CGI, tu vas utiliser la méthode POST.

Ce qu'on va faire, c'est récupérer les infos du POST sous forme d'une chaîne de caractèress.
D'abord, on a besoin de déclarer une telle chaîne :
char *chaine; // la chaine qui va recevoir les infos.

Ensuite, on a besoin de connaîte la taille du Buffer d'entrée (ie on veut connaitre la longueur de notre chaine pour allouer le bon espace en mémoire) :
longeur = atoi(getenv("CONTENT_LENGTH"));

// longueur est un int, getenv renvoie un string donc atoi permet de convertir un string en un integer.
On peut ensuite passer à la réservation d'espace mémoire avec un malloc :
chaine=(char*)malloc (longueur+1) // il nous faut un caractère de plus pour le caractère de fin de chaine '\0'.
Ensuite on fait un fread sur l'entrée standard puis on écrit chaine[longueur]='\0'.

Voila tout ;o).

Arnaud MARTIN.

Le sot ne sait pas ce qu'il dit mais le sage ne dit pas ce qu'il sait...