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

C Model Question Papers for BCA 1st year Kannur Bharathiar MG Madras Bangalore University

C Model Question Papers for BCA 1st year Kannur Bharathiar MG Madras Bangalore University : Fist Year BCA Model Question Paper for C Programming Language :- Model Question Paper B.C.A. : I Year: Programming using C: Time: 3 Hrs. Max. Marks: 100 SECTION – A 1) Answer the following Questions : 10 x 2 = 20 M a) Define Algorithm. b) Define Identifier. c) What is the Purpose of sizeof() operator. d) Compare while and do-while loops. Justify your answer. e) Define Recursion. f) How can we initialize an array. g) What is the difference between structure and union ? h) Define Pointer variable. i) Define Macro. j) What is the purpose of rewind() function. Section – B Answer the following questions. 4 x 20 = 80 M 2. a) Explain the structure of C program. b) Explain features of C language. (or) c) Describe in brief the operators in C language. d) Write a C program to evaluate the following expression. (a+(b*c)/d) 3. a) Explain control structures with examples. (or) b) Explain different parameter ...

How to create User Defined Functions in C, see example Perfect_Number() function used as UDF in C Program

How to create User Defined Functions in C, see example Perfect_Number() function used as UDF in C Program :- Example : This is a program to find Perfect Numbers upto a limit using User Defined Function(UDF) in C Program Language :- #include<stdio.h> #include<conio.h> int Perfect_Number(int); /* UDF function prototype declaration : int argument and int returns */ main() { int lmt,num; clrscr(); printf("Enter a Limit :"); scanf("%d",&lmt); for(num=5 ; num<=lmt ; num++) { /* function calls here with Actual Parameter num and returns either 1 or 0 and checks */ if(Perfect_Number(num)==1) { printf("\n%d",num); } } getch(); } /* Either the function should be defined out side the main() or it should be in one of the header files included. function definition with a Formal Parameter as n */ int Perfect_Number(int n) { int a,sm; sm=0; for(a=1 ; a<n ; a++) { if(n%a==0) { sm=sm+a; } } if(sm==n) return 1; else ...

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 ...