HTML:CGI实例--表单GET与POST示例


CGI实例--表单GET与POST示例

GET方法:做一个加法运算,需要接收两个参数

文件get.c如下:
#include
#include
int main(void)
{
        char *data;
        char a[10],b[10];
        printf("Content-Type:text/html\n\n");
        printf("\n");
        printf("\nGet Method\n\n");
        printf("\n");
        printf("
\n");
        data = getenv("QUERY_STRING");
        if(sscanf(data,"a=%[^&]&b=%s",a,b)!=2){
                printf("
Error parameters should be entered!
\n");
        }
        else{
               printf("
a + b = %d
\n",atoi(a)+atoi(b));
        }
        printf("
");
        printf("");
        printf("
\n");
        printf("\n");
        printf("\n");
        return 0;
}


POST方法:做一个乘法运算,需要接收两个参数

文件post.c如下:
#include
#include
int main(void){
        int len;
        char *lenstr,poststr[20];
        char m[10],n[10];
        printf("Content-Type:text/html\n\n");
        printf("\n");
        printf("\npost Method\n\n");
        printf("\n");
        printf("
\n");
        lenstr=getenv("CONTENT_LENGTH");
        if(lenstr == NULL)
                printf("
Error parameters should be entered!
\n");
        else{
                len=atoi(lenstr);
                fgets(poststr,len+1,stdin);
                if(sscanf(poststr,"m=%[^&]&n=%s",m,n)!=2){
                        printf("
Error: Parameters are not right!
\n");
                }
                else{
                       printf("
m * n = %d
\n",atoi(m)*atoi(n));
                }
        }
        printf("
");
        printf("");
        printf("
\n");
        printf("\n");
        printf("\n");
        fflush(stdout);
        return 0;
}


再附上html测试文件cgi.html:


CGI Testing







Method: GET

please input two number:


+
=



Method: POST

please input two number:


*
=





你可能感兴趣的:(linux,学习)