Skip to main content

How to Compile and Run CGI Scripts in C Examples in Linux Apache Server

How to Compile and Run CGI Scripts in C Examples in Linux Apache Server :-

first let us create an HTML file(testcgi.html) :
it can be made using keditor, geditor or vi editor


use form action http://localhost/cgi-bin/sum.cgi

then we have to make a C Program (sum.c):

#include<stdio.h>
#include<stdlib.h>

int main(void)
{
char *data;
long m,n;
printf("%s%c%c\n","Content-Type:text/html;charset=iso-8859-1",13,10);
printf("Result\n");
printf("HTML Form values are added...\n");
data = getenv("QUERY_STRING");
if(data == NULL)
printf("Error! Error in passing data from form to script.");
else if(sscanf(data,"m=%ld&n=%ld",&m,&n)!=2)
printf("Error! Invalid data. Data must be numeric.");
else
printf("The Sum of %ld and %ld is %ld.",m,n,m+n);
return 0;
}

To Compile:
in linux login root user and go to command line terminal
root# cc sum.c -o sum.cgi
root# chmod 777 sum.cgi
root# cp sum.cgi /var/www/cgi-bin/
otherwise find cgi-bin directory and put it there.
then put html file some where
root# cp testcgi.html /var/www/html/

next run apache web server:
root# service httpd restart

then open a browser and give an address like
http://localhost/cgi-bin/testcgi.html

Enter two numbers and the result will be displayed in the next page.

Popular posts from this blog

Swapping of Two Numbers in C or C Program to Swap Two Numbers

Swapping of Two Numbers in C or C Program to Swap Two Numbers or C program to Swap two numbers without using a third variable #include <stdio.h> #include <conio.h>  void main() {    int x, y, temp;    clrscr();    // to clear screen       printf("Enter the value of x and y\n");    scanf("%d%d", &x, &y);    printf("Before Swapping\nx = %d\ny = %d\n",x,y);    temp = x;    x    = y;    y    = temp;    /*       without using temp variable, this can be used    let x=4 and y=5    x = x + y ;   x=x+y => x=4+5 => x=9     y = x - y ;   y=x-y => y=9-5 => y=4  value changed    x = x - y ;   x=x-y => x=9-4 => x=5  value changed      */       printf("After Swapping\nx ...

Find the Greatest Time in C or CPP from two different times.

Find the Greatest Time in C or CPP from two different times. Example Code: #include<iostream.h> #include<conio.h> class time { private: int hh,mm,ss; public: void get() { cout<<"\n enter hh,mm,ss:"; cin>>hh>>mm>>ss; } void show() { cout<<"\n hour:"<<hh<<"\n minute:"<<mm<<"\n second:"<<ss; } time greatest(time x) { if (hh>x.ss) return *this; else if(hh>x.hh) return x; else if(mm>x.mm) return *this; else if(mm<x.mm) return x; else if(ss>x.ss) return *this; else return x; } }; void main() { clrscr(); time t1,t2,t3; cout<<"\n enter time1:"; t1.get(); cout<<"\n enter time2:"; t2.get(); t3=t1.greatest(t2); cout<<"\n greatest time:"; t3.show(); getch(); }

C Code Shortening Techniques or My Logic for Reduced Source Code Writing in C Program Language

C Code Shortening Techniques or My Logic for Reduced Source Code Writing Tips and Tricks in C Program Language :- Role of Semi Colon(;) and Curly Braces({ }) in C Program Perhaps, you might have heard that the for() loop should not end with ";" like if(). But, in fact the ";" is using in C language as a Statement Terminator, so, if we want to terminate for() loop, then we should use ";" at the end of for() loop. [ Header files are to be included as usual, it is not written in the examples ] Question : write a C program to print 1 to 10 numbers using for() loop ? Example 1 : void main() { int i; for ( i = 1 ; i <= 10 ; i++ ) { printf("%d\n",i); } } /* above program, for() loop has one statement outside, so we do not use ";" at the end, because if we put ";" the for() will not take the continuing statement as its own. */ Example 2 : void main() { int i; for ( i = 1 ; i <= 10 ; printf( "%d \n" , i ...