"); //-->
实验二、提交按钮
我们在上一个实验的页面中增加两个按钮,一个为提交按钮,一个为重置按钮,用DW画在页面上,部分代码如下:
<body>
<p>Hello To My CGIC Test! </p>
<form id="form1" name="form1" method="post" action="/cgi-bin/mycgictest.cgi">
<p>
<label for="user_name">Your Name: </label>
<input type="text" name="user_name" id="user_name" />
</p>
<p>
<label for="name_submit"></label>
<input type="submit" name="name_submit" id="name_submit" value="提交" />
<label for="name_abord"></label>
<input type="reset" name="name_abord" id="name_abord" value="重置" />
</p>
</form>
</body>
修改mycgictest.c文件:
#include "cgic.h"
#define USER_NAME_MAX_BYTE 51
int hand_user_name(char *formname,char *username,int name_maxlength);
//处理用户名的函数
int cgiMain(){
char user_name_result[USER_NAME_MAX_BYTE-1];
int hand_result=-3;
cgiHeaderContentType("text/html");
fprintf(cgiOut,"<html><head>\n");
fprintf(cgiOut,"<title>my cgic test</title>\n");
fprintf(cgiOut,"</head>\n");
fprintf(cgiOut,"<body>\n");
//HTML BODY
if(cgiFormSubmitClicked("name_submit")==cgiFormSuccess){
hand_result=hand_user_name("user_name",user_name_result,USER_NAME_MAX_BYTE);
}
switch(hand_result){
case -1:
fprintf(cgiOut,"OH! You have a mars name,it is too long!\n回火星去吧");
break;
case -2:
fprintf(cgiOut,"OH! You have not input you name!");
break;
case 0:
fprintf(cgiOut,"Whelcom ");
fprintf(cgiOut,user_name_result);
break;
default:
fprintf(cgiOut,"Do you have a name?");
break;
}
fprintf(cgiOut,"</body></html>\n");
return 0;
}
int hand_user_name(char *formname,char *username,int name_maxlength){
int fetch_result=cgiFormStringNoNewlines(formname,username,name_maxlength);
if(fetch_result==cgiFormTruncated){
return -1;
}else if(fetch_result==cgiFormEmpty){
return -2;
}else if(fetch_result==cgiFormSuccess){
return 0;
}
return -3;
}
在这个实验中我们主要使用了cgiFormSubmitClicked()函数来检查用户所点击的提交按钮,并更加提交按钮的不同来做不同的处理。专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
全球半导体供应链挑战:有效韧性策略
请大侠帮忙 !
光控延时照明灯电路
[原创]最顶级配置最专业的S3C2410开发系统,性能高价格不高
有关 XILINX XC4010E
特斯拉 LED 露天影院开始在洛杉矶试运营
光耦合电话自控灯电路
第四届飞思卡尔智能车 成都信息工程学院
美国公司被禁止在华从事人工智能业务,AWS上海AI研究院一夜落幕
D S P入门手册
英特尔财报:若 14A 工艺失败可能退出尖端节点,着眼于台积电外包 18A 工艺之外
PQC&网络弹性:保护量子时代数据安全
光耦合警示灯电路
Cypress 带usb接口的单片机
夜间闪光警示灯电路
新一代 Wi-Fi 8 更注重可靠性而非速度
关于windml的问题!请帮忙!
第四届飞思卡尔智能车 天津科技大学
第四届飞思卡尔智能车 北科天津学院视频资料
急问!
ACM8816 300W大功率单声道数字功放IC:国产GaN音频功放
C语言工具
光控台灯电路
c语言结构
C语言基础 - 结构(struct)
GaN如何改进光伏充电控制器
第四届智能车北京科技大学特等奖
英伟达宣布CUDA将全面支持RISC-V指令集架构
第四届飞思卡尔智能车 北科视频资料
他甚至不知道这是什么,但特朗普总统威胁要拆分英伟达