#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>\n");
fprintf(cgiOut, "<TITLE>cgic test</TITLE></HEAD>\n");
fprintf(cgiOut, "<BODY><H1>cgic test</H1>\n");
/* If a submit button has already been clicked, act on the
submission of the form. 提交表单*/
if (cgiFormSubmitClicked("1saveenvironment") == cgiFormSuccess)
{
HandleSubmit();
fprintf(cgiOut, "<hr>\n");
}
/* Now show the form */
ShowForm();
/* Finish up the page */
fprintf(cgiOut, "</BODY></HTML>\n");
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>\n");

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, "\">\n");

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

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

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

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

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

对cgic的理解——name选项的更多相关文章

  1. 深入理解Loadrunner中的Browser Emulation

    深入理解Loadrunner中的Browser Emulation 深入理解Loadrunner中的Browser Emulation 3E?']V'VgB5n*S0一:基本介绍51Testing软件 ...

  2. 关于GCC的理解——On the understanding of the GCC

    GCC 有超过100个的编译选项可用. 这些选项中的许多你可能永远都不会用到, 但一些主要的选项将会频繁用到. 很多的 GCC 选项包括一个以上的字符. 因此你必须为每个选项指定各自的连字符, 并且就 ...

  3. tcpdump 选项及过滤规则

    tcpdump tcp -i eth1 -t -s 0 -c 100 and dst port ! 22 and src net 192.168.1.0/24 -w ./target.cap (1)t ...

  4. Setsockopt选项

    讨论 Setsockopt选项 http://c.chinaitlab.com/cc/ccjq/200806/752042_3.html 总而言之,如果你肯定能一起发送多个数据集合(例如HTTP响应的 ...

  5. 理解Loadrunner中的Browser Emulation Simulate

    案例 测试环境描述: 客户端 5台 Windows2000机器.服务器端  20台机器 一台F5(负载均衡设备,提供一个唯一的IP供客户端访问) 客户端绑定Host后,使用域名http://www.* ...

  6. Linux tcpdump命令详解

    tcpdump官网:http://www.tcpdump.org/ 转载于:http://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.ht ...

  7. Linux tcpdump 详解

    简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具. tcpdump可以将网络中传送的数据包的 ...

  8. linux运维中的命令梳理(四)

    ----------管理命令---------- ps命令:查看进程 要对系统中进程进行监测控制,查看状态,内存,CPU的使用情况,使用命令:/bin/ps (1) ps :是显示瞬间进程的状态,并不 ...

  9. Linux tcpdump 命令详解

    简介用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具. tcpdump可以将网络中传送的数据包的& ...

随机推荐

  1. 各行业最受欢迎的编程语言,硬件最青睐C和C++

    近日,HackerRank发布了2018年开发技能报告,其中探讨了一些对理解开发人员环境至关重要的事情,本文将摘录编程语言排行部分 2018 开发者技能调查:不同行业中最热门的编程语言 尽管新语言经常 ...

  2. Mybatis笔记四:nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'id' in 'class java.lang.String'

    错误异常:nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter for pr ...

  3. 【BZOJ3714】Kuglarz(最小生成树)

    [BZOJ3714]Kuglarz(最小生成树) 题面 BZOJ Description 魔术师的桌子上有n个杯子排成一行,编号为1,2,-,n,其中某些杯子底下藏有一个小球,如果你准确地猜出是哪些杯 ...

  4. (转)搭建本地 8.8 W 乌云漏洞库

    下载地址: 开源地址: https://github.com/m0l1ce/wooyunallbugs 百度网盘: 链接: http://pan.baidu.com/s/1nvkFKox 密码: 94 ...

  5. python访问需要登录的网页

    有些网页需要你登录之后才可以访问,你需要提供账户和密码. 只要在发送http请求时,带上含有正常登陆的cookie就可以了. 1.首先我们要先了解cookie的工作原理. Cookie是由服务器端生成 ...

  6. 我学习的第一个uiautomator从创建到运行结束

    一.新建自动化脚本     1.新建java工程包              [file]----[new]----[Java Project]    新建工程                  [右 ...

  7. 洛谷 2186 小Z的栈函数

    https://www.luogu.org/problem/show?pid=2186 题目描述 小Z最近发现了一个神奇的机器,这个机器的所有操作都是通过维护一个栈来完成的,它支持如下11个操作: N ...

  8. NOIP模拟赛13

    期望得分:100+0+100=200 实际得分:100+5+100=205 T1 空间卡到30M.. n<=2.5*1e7 若x是整除区间[1,n]每个数的最小的数,那么对[1,n]每个数分解质 ...

  9. HDU 6053 TrickGCD 莫比乌斯函数/容斥/筛法

    题意:给出n个数$a[i]$,每个数可以变成不大于它的数,现问所有数的gcd大于1的方案数.其中$(n,a[i]<=1e5)$ 思路:鉴于a[i]不大,可以想到枚举gcd的值.考虑一个$gcd( ...

  10. Image Scaling using Deep Convolutional Neural Networks

    Image Scaling using Deep Convolutional Neural Networks This past summer I interned at Flipboard in P ...