Actualmente estoy tratando de hacer un programa CGI simple que genere la entrada de alguien en C. Curiosamente, la variable de entorno "QUERY_STRING" está devolviendo nulo. Aquí está el código que tengo, dos archivos simples, uno .html y otro .c.
simple.c
#include <stdio.h> #include <stdlib.h> void openHTML(char* path); int main(){ printf("Content-Type: text/html \n\n"); openHTML("simple.html"); char* data; data = getenv("QUERY_STRING"); printf("Data: %s", data); return 0; } void openHTML(char* path){ //Opens File FILE* file = fopen(path, "r"); //Reads through lines char line[256]; while (fgets(line, sizeof(line), file)) { printf("%s", line); } fclose(file); }simple.html
<html> <body> <form action="http://localhost/cgi-bin/simple.exe" method="post"> <label for="fname">First name:</label> <input type="text" id="fname" name="fname"><br><br> <label for="lname">Last name:</label> <input type="text" id="lname" name="lname"><br><br> <input type="submit" value="Submit"> </form> </body> </html>Salida de corriente:
Content-Type: text/html <html> <body> <form action="http://localhost/cgi-bin/simple.exe" method="post"> <label for="fname">First name:</label> <input type="text" id="fname" name="fname"><br><br> <label for="lname">Last name:</label> <input type="text" id="lname" name="lname"><br><br> <input type="submit" value="Submit"> </form> </body> </html> Data: (null)