I am Embedded Software Engineer, I am new to Embedded Web Server programming, I wrote the HTML code which is simple form as the code shown below :
<form action="/cgi-bin/gpio.cgi" method="post">
<div><label>Multiplicand 1: <input name="m"></label></div>
<div><label>Multiplicand 2: <input name="n"></label></div>
<div> <input type="submit" value="Multiply" ></div>
</form>
and i wrote the following gpio.cgi code in C langugae to run it on Linux through my HTML : here is the code shown below :
int main() {
char *data ;
long m,n;
printf("%s %c%c\n ", "Content-Type:text/html;charset=iso-8859-1",13,10);
printf("<title>Multiplication results</title>\n");
printf("<h3>Multiplication results</h3>\n");
data=getenv("QUERY_STRING");
if (data==NULL)
printf("<P>Error! Error in passing data from to Script");
else if (sscanf(data,"m=%ld&n=%ld",&m,&n)!=2)
printf("<P>Error! invalid Data. ");
else printf("<P>The Product of %ld and %ld is %ld.",m,n,m*n);
return 0;
}
Than i compiled my above program by typing following command in teminal in Linux: gcc -o gpio.c gpio.cgi
and i put this gpio.cgi file in /cgi-bin directory the same path as i wrote in HTML code, but when i click Submit button after entering data , my gpio.cgi file gets download instead of execution, while i tested gpio.cgi file independently and it works fine but not with HTML browser. please help me i am really stucked with it.
I am not using any or Apache server. Does it necessary to use Apache server to make executing my cgi file through HTML .
I am running it on my own machine on which i wrote code.
Without a server who is supposed to execute your program ?
Normally the server will execute the program and send the output of the program to the browser.