对cgic的理解——name选项

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "cgic.h"

void HandleSubmit();// 提交
void Name();
void ShowForm();//页面的显示

int cgiMain()
{
cgiHeaderContentType("text/html");
fprintf(cgiOut, "<HTML><HEAD> ");
fprintf(cgiOut, "<TITLE>cgic test</TITLE></HEAD> ");
fprintf(cgiOut, "<BODY><H1>cgic test</H1> ");
/* If a submit button has already been clicked, act on the
submission of the form. 提交表单*/
if (cgiFormSubmitClicked("1saveenvironment") == cgiFormSuccess)
{
HandleSubmit();
fprintf(cgiOut, "<hr> ");
}
/* Now show the form */
ShowForm();
/* Finish up the page */
fprintf(cgiOut, "</BODY></HTML> ");
return 0;
}
void HandleSubmit()// 提交
{
Name();
}

void Name()
{
char name[81];
char age[81];
cgiFormStringNoNewlines("name", name, 81);//函数的功能就是取的并显示由用户输入的name
cgiFormStringNoNewlines("age", age, 81);//函数的功能就是取的并显示由用户输入的name
fprintf(cgiOut, "Name: ");
cgiHtmlEscape(name);//将得到的name值显示到屏幕
fprintf(cgiOut, "age: ");
cgiHtmlEscape(age);
fprintf(cgiOut, "<BR> ");

FILE * file_fa = fopen("a.txt","w+");
fwrite(name,strlen(name),1,file_fa);
fwrite(age,strlen(age),1,file_fa);
}

void ShowForm()//页面的显示
{
fprintf(cgiOut, "<!-- 2.0: multipart/form-data is required for file uploads. -->");
fprintf(cgiOut, "<form method="POST" enctype="multipart/form-data" ");

fprintf(cgiOut, " action="");
cgiValueEscape(cgiScriptName);//cgiScriptName调用程序的名字
fprintf(cgiOut, ""> ");

//fprintf(cgiOut, "<p>Text Field containing Plaintext <p>");

fprintf(cgiOut, "<input type="text" name="name">Your Name ");


fprintf(cgiOut, "<input type="text" name="age">Your age ");
// fprintf(cgiOut, "<input type="text" name="age">");

fprintf(cgiOut, "<input type="submit" name="1saveenvironment" value="Save Environment"> ");
//name 必须和cgiFormSubmitClicked("1saveenvironment")中函数参数一致
fprintf(cgiOut, "</form> ");
}

功能将得到的name和age写到a.txt中

原文地址:https://www.cnblogs.com/zhouhbing/p/4111251.html