嵌入式CGI开发之旅——7

【原创】嵌入式CGI开发之旅——7

实验二、提交按钮

我们在上一个实验的页面中增加两个按钮,一个为提交按钮,一个为重置按钮,用DW画在页面上,部分代码如下:

<body>

<p>Hello To My CGIC Test!

<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>

    <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="重置" />

 

</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() 函数来检查用户所点击的提交按钮,并更加提交按钮的不同来做不同的处理。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值