cs_JR07
Messages postés8Date d'inscriptionvendredi 14 janvier 2005StatutMembreDernière intervention 1 avril 2005
-
8 mars 2005 à 10:40
scorpyon1903
Messages postés12Date d'inscriptionmercredi 26 mai 2004StatutMembreDerniè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.
scorpyon1903
Messages postés12Date d'inscriptionmercredi 26 mai 2004StatutMembreDerniè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...