Pb avec cgi(urgent)!!!

cs_JR07 Messages postés 8 Date d'inscription vendredi 14 janvier 2005 Statut Membre Dernière intervention 1 avril 2005 - 8 mars 2005 à 10:40
scorpyon1903 Messages postés 12 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 3 mai 2005 - 26 avril 2005 à 16:12
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

scorpyon1903 Messages postés 12 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 3 mai 2005
26 avril 2005 à 16:12
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...
0
Rejoignez-nous