cgic 为C语言编写CGI的C函数库(2)
参考cgiFormStringMultiple() cgiFormStringMultiple()
/* An array of strings; each C string is an array of characters */ char **responses;
cgiFormStringMultiple(\
检查CGI环境变量 将用到的变量 这里, 产生图象
#include \ #include \
char *colors[] = { \ };
#define colorsTotal 3
int cgiMain() { int colorChosen; gdImagePtr im; int r, g, b;
/* Use gdto create an image */ im = gdImageCreate(64, 64);
r = gdImageColorAllocate(im, 255, 0, 0); g = gdImageColorAllocate(im, 0, 255, 0); b = gdImageColorAllocate(im, 0, 0, 255);
/* Now use cgic to find out what color the user requested */ cgiFormSelectSingle(\/* Now fill with the desired color */ switch(colorChosen) { case 0:
gdImageFill(im, 32, 32, r); break; case 1:
gdImageFill(im, 32, 32, g); break; case 2:
gdImageFill(im, 32, 32, b); break; }
/* Now output the image. Note the content type! */ cgiHeaderContentType(\/* Send the image to cgiOut */ gdImageGif(im, cgiOut); /* Free the gd image */ gdImageDestroy(im); return 0; }
为调试而捕捉CGI状态 cgic函数参考
cgiFormResultType cgiFormString( char *name, char *result, int max) 用于从输入域中copy字符串。他将域名max-1字节中的字符copy到缓冲区result。若域不存在,则copy一个空串到result缓冲区。在此函数中所有的新行由换行符代表。
cgiFormResultType cgiFormStringNoNewlines( char *name, char *result, int max)
它与cgiFormString函数相似,只是所有的CR和LF都被去掉了。
cgiFormResultType cgiFormStringSpaceNeeded( char *name, int *length) 它返回指向name的字符串的长度,并将长度放入length中。
cgiFormResultType cgiFormStringMultiple( char *name, char ***ptrToStringArray)
若同一名字有多个输入域,或域中的字符串可以动态变化,那么你可以使用本函数。它把名为name的所有输入域的值放在prtToStringArray中。
void cgiStringArrayFree(char **stringArray) 它释放了分配给stringArray的内存。
cgiFormResultType cgiFormInteger( char *name, int *result, int defaultV) 从输入域中取出整数放入result中。
cgiFormResultType cgiFormIntegerBounded( char *name, int *result, int min, int max, int defaultV)
若输入域中的整数在界限内则取出并放入result中。
cgiFormResultType cgiFormDouble( char *name, double *result, double defaultV)
从输入域中取出浮点数放入result中。
cgiFormResultType cgiFormDoubleBounded( char *name, double *result, double min, double max, double defaultV)
若输入域中的浮点数在界限内则取出并放入result中。
cgiFormResultType cgiFormSelectSingle( char *name, char **choicesText, int choicesTotal, int *result, int defaultV)
取出复选框(跟在select语句之后的),把选择的名字copy到choicesText,把选择的个数copy到choicesTotal,把当前的选择copy到result。
cgiFormResultType cgiFormSelectMultiple( char *name, char **choicesText, int choicesTotal, int *result, int *invalid)
与cgiFormSelectSingle类似,只指向整型数组的result代表了选择的项。
cgiFormResultType cgiFormCheckboxSingle( char *name)
若复选框被选中,则函数返回cgiFormSuccess,否则返回cgiFormNotFound。
cgiFormResultType cgiFormCheckboxMultiple( char *name, char **valuesText, int valuesTotal, int *result, int *invalid)
与cgiFormCheckboxSingle类似,但它处理同一名字有多个复选框的情况。name指向复选框的名字;valuesText指向包含有每个复选框中参数的一个数组;valuesTotal指向复选框的总数;result是一个整型数组,每个复选框选中的用1代表,没选中的用0代表。
cgiFormResultType cgiFormRadio( char *name, char **valuesText, int valuesTotal, int *result, int defaultV)
与cgiFormCheckboxMultiple相似,只是这里是单选按钮而不是复选框。
void cgiHeaderLocation(char *redirectUrl) 重定向到redirectUrl指定的URL。
void cgiHeaderStatus(int status, char *statusMessage) 输出状态代码status和消息statusMessage。
void cgiHeaderContentType(char *mimeType) 用于告知浏览器返回的是什么类型的文档。
cgiEnvironmentResultType cgiWriteEnvironment(char *filename) 本函数把当前CGI环境写入filename文件中以便以后调试时使用
cgiEnvironmentResultType cgiReadEnvironment(char *filename) 本函数从filename文件中读取CGI环境以便用来调试。
int cgiMain()
一个程序必须要写这个函数, 这是主程序开始之处。 cgic变量参考
This section provides a reference guide to the various global variables provided by cgic for the programmer to utilize. These variables should always be
used in preference to stdin, stdout, and calls to getenv() in order to ensure compatibility with the cgic CGI debugging features.
大多数的变量相当于各种CGI变量,重要的是VGIC的变量不能为空.
char *cgiServerSoftware
服务器软件名称,或者一个空的字符串 or to an empty string if unknown. char *cgiServerName 返回服务器名称或空 char *cgiGatewayInterface
网关接口 (通常是 CGI/1.1),或空 char *cgiServerProtocol
网络协议(usually HTTP/1.0),或空 char *cgiServerPort
服务器端口(usually 80),或空 char *cgiRequestMethod
请求方式 (usually GET or POST),或空 char *cgiPathInfo 指出附加虚拟路径 char *cgiPathTranslated
指出附加虚拟路径并由服务器转为本地路径 char *cgiScriptName 调用程序的名字 char *cgiQueryString
包含 GET-method 请求或者
从浏览器返回客户主机的名字 char *cgiRemoteAddr
从浏览器返回客户的IP地址 char *cgiAuthType 返回用户授权信息 char *cgiRemoteUser 鉴别用户 cgiAuthType. char *cgiRemoteIdent 返回用户的名字(用户通过用户坚定协议)这个消息是不安全的,特别是Windows系统。
char *cgiContentType 返回MIME内型 char *cgiAccept
参考 cgiHeaderContentType() cgiUserAgent char *cgiUserAgent 取的用户浏览器信息 char *cgiReferrer
指向用户访问的URL.
int cgiContentLength
表单或查询数据的字节被认为是标准的. FILE *cgiOut
相关推荐:
- [互联网资料]2022年厦门大学机电工程系824机械设计
- [互联网资料]东南大学2022年硕士研究生拟录取名单公
- [互联网资料]能源调研报告(精选多篇)
- [互联网资料]初三英语下学期 中考英语 语法填空训练
- [互联网资料]2022内蒙古选调生行测常识备考:新事物
- [互联网资料]自驾必备!在新西兰租什么样的车自驾游
- [互联网资料]佛教素食菜谱44页未完
- [互联网资料]盈利能力分析外文翻译
- [互联网资料]2022年南昌航空大学音乐学院736马克思
- [互联网资料]优选外贸跟单实习报告总结(精品版)
- [互联网资料]银行新员工培训总结
- [互联网资料]2_year_visa_new_guidance_190316
- [互联网资料]天津市五校宝坻一中静海一中杨村一中芦
- [互联网资料]2007--2008学年第一学期高三数学宁波市
- [互联网资料]Chromatic framework for vision in ba
- [互联网资料]幼儿园大班上学期美术教案《心愿树》含
- [互联网资料]2022年华中农业大学信息学院820微型计
- [互联网资料]硬盘坏道的表现 __硬盘使用久了
- [互联网资料]江苏省2016年会计从业资格考试《会计基
- [互联网资料]公共场所卫生监督试卷全解
- 高级英语第一册所有修辞方法及例子总结
- 综合交通枢纽规划与城市发展
- 沃尔玛的企业文化案例分析
- 美国Thanksgiving Day 感恩节 介绍
- PEP六年级英语上册Unit6How do you fee
- 最齐全的中国大型商场购物中心名单
- 数据结构实验报告八—哈夫曼编译码
- 杭州市余杭区人民政府(通知)
- 七年级语文成语运用专项训练
- 微观经济学第三章 消费者行为 课后习题
- 对_钱学森之问_的思考
- Excel_三级联动_下拉菜单
- 办公用品需求计划申请表
- 对外汉语教材必须要知道的发展史
- 挑战杯大学生学术科技作品竞赛作品申报
- 举办民办教育培训机构应具备下列条件
- 太阳能路灯项目设计方案
- 2013年八年级上最新人教版新教材Unit3I
- 【历史】 6-4 《近代科学之父牛顿》 课
- 高中生物《第四章 第二节 探讨加酶洗衣




