Html表单复选框未定义的行为

时间:2013-08-18 16:51:47

标签: html c cgi

我的html代码如下:

<html>
<head><title>OPTIONS</title></head>
<body>
    <p>Choose schedule to generate:</p>
    <form action='cgi-bin/mp1b.cgi'>
    <input type=checkbox name='tfield' value=on />Teacher<input type=text name=teacher value=""/><br>
    <input type=checkbox name='sfield' value=on />Subject<input type=text name=subject value=""/><br>
    <input type=checkbox name='rfield' value=on />Room<input type=text name=room value=""/><br>
    <input type=submit value="Generate Schedule"/>
    </form>
</body>
</html>

问题是:每当我输入其中一个文本空间并使用我的C CGI脚本来解析它时,它就会给我正确的输出。但每当我选中其中一个复选框时,它似乎删除了与其对应的文本空间中输入的字符串。例如,当我检查name='tfield'并将字符串写入文本name=teacher时,它不会为name=teacher提供输出。这可能是什么问题?谢谢!

已编辑:以下是CGI代码

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main(void)
{
    char *data;
    printf("Content-type:text/html\n\n");
    printf("<html><body>");
    data = getenv("QUERY_STRING");
    char teacher[1024] = "";
    char subject[1024] = "";
    char room[1024] = "";
    sscanf(data,"teacher=%[^&]&subject=%[^&]&room=%s",teacher,subject,room);    
    puts(teacher);
    puts(subject);
    puts(room);
    printf("</body></html>");
    return 0;
}

0 个答案:

没有答案