"); //-->
实验一、单行文本框
对于网页的话我用DreamWeaver来画,呵呵这样方便很多,当然我也会贴出来代码。
单行文本框一般用来接受一些较短的字符串。
1、 创建源文件:
创建一个新的静态网页文件:mycgictest.html,建立一个单行文本输入域:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset="utf-8"" />
<title>无标题文档</title>
</head>
<body>
<p>Hello To My CGIC Test! </p>
<form id="form1" name="form1" method="post" action="/cgi-bin/mycgictest.cgi">
<label for="user_name">Your Name: </label>
<input type="text" name="user_name" id="user_name" />
</form>
</body>
</html>
创建mycgictest.c文件:
#include "cgic.h"
#define USER_NAME_MAX_BYTE 51
int cgiMain(){
char user_name_result[USER_NAME_MAX_BYTE-1];
int fetch_result;
cgiHeaderContentType("text/html");
fprintf(cgiOut,"<html><head>\n");
fprintf(cgiOut,"<title>my cgic test</title>\n");
fprintf(cgiOut,"</head>\n");
fprintf(cgiOut,"<body>\n");
fetch_result=cgiFormStringNoNewlines("user_name",user_name_result,USER_NAME_MAX_BYTE);
if(fetch_result==cgiFormTruncated){
fprintf(cgiOut,"OH! You have a mars name,it is too long!\n回火星去吧");
}else if(fetch_result==cgiFormEmpty){
fprintf(cgiOut,"OH! You have not input you name!");
}else if(fetch_result==cgiFormSuccess){
fprintf(cgiOut,"Whelcom ");
fprintf(cgiOut,user_name_result);
}
fprintf(cgiOut,"</body></html>\n");
return 0;
}
输出直接用到了cgiOut,当然如果你想直接通过printf打印出来也可以,不过cgic推荐使用统一的cgiOut来输出,这样能保存程序的一致性,而且用cgiOut来输出不会对性能造成任何的影响。获取表单输入域的数据我用了cgiFormStringNoNewlines()函数,因为单行文本不存在换行问题。(还有一个问题,CGIC能够输出中文,但是不能够处理表单输入域中提交的中文)这里可以看到用CGIC库确实是比较方便的,它屏蔽了GET和POST的差别,不管你是用那种方法都能够正确的获得数据。
2、 编译:如果是在windows中,则用VS2008EP版(呵呵因为我用的是这个版本哈)新建一个工程,然后把cgic.h、cgic.c、mycgictest.c导入到工程中,编译以后就会生成一个可执行文件,将文件后缀名改为.cgi然后拷贝到自己服务器的cgi-bin目录下。
3、 测试:在浏览器中输入127.0.0.1/mycgictest.html然后在页面的文本框中能够输入一个字符串(不能超过50个字符),回车以后能看到“Whelcom 你输入的字符串”就成功了。
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
NEC Electronics SM+软件安装演示视频
谁有卸IC的工具?急
I1为负、I2为正时的对数变换功能电路(对数放大器4127)
Protel 99se布线的基本流程
电阻为什么要拉一下?上、下拉电阻的作用!
怎么把240从座上拿下来
电感啸叫
NEC MCU 78F0513D开发板使用教程
HiperPLC
焊板子的材料
开关电源的PCB设计参考
据报道,LG 电子使用 LTPS TFT 玻璃开发 130 英寸 MicroLED 显示屏
聚力同行 共拓新程 ——电子制造设备智能化建设展示方案
LabVIEW 8.6 新特性
精密对数和对数比率放大器LOG100
LinkSwitch-II
波峰焊,再流焊
华为重夺中国市场榜首,联想居美国第三
I1和I2为正时的对数变换功能电路(对数放大器4127)
再总结60条硬件设计基础知识!
对数和对数比率放大器LOGl00的偏流调零电路
Protel DXP 2004 双语菜单
Protel diagram in Word
Protel DXP 2004 SP2 原理圖
介绍几种(TL431、三极管)恒流源电路
十分透彻!详解去耦电容!文科生看完都理解了!
由对数放大器4127构成的反对数电路
铝合金上怎么焊接
Protel 99se快速入门 中文教程
看时序图写I2C驱动,教你如何自己手撸非标I2C驱动函数