I am currently trying to make a simple CGI Program that outputs someone's input in C. Oddly, the environment variable "QUERY_STRING" is returning null. Here is the code that I have, two simple files, one being a .html, and one being a .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>
Current output:
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)