Cgi C程序返回主HTML和显示结果的值

时间:2013-07-23 12:49:08

标签: cgi

我正在使用cgi在Apache机器上编写服务器端脚本。我正在使用C进行cgi编程。我是一个完整的菜鸟,并从在线示例中学习(我必须说除了基础知识,我没有遇到更多的网络资源来进行详细的学习!)。 我有一个简单的HTML页面,其中用户名(输入)被添加到列表中,该列表是我系统中的文件,然后更新的列表应显示在相同的页面中。 我无法在同一页面上“打印”脚本和http链接的结果,因此在下面的代码中,您只能看到按钮。请帮忙。

以下是我所拥有的: HTML:

<html>
<head><title>Home</title></head>
<body>
<h1>REGISTER</h1>
<form action= "/cgi-bin/mycgi.cgi" name ="create user" method ="get">
Enter name:<input type="text" name="user">
<br>
<input type="submit" value="add">
</form>
 <FORM action="http://localhost:8000/getusers/" method="get">
    <P>
    <input value="Display Users" type="submit">
    </P>
 </FORM>
</body>

这是cgi代码:

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

int main(){
char *tmpStr;
char *user;
printf("Content-Type:text/html\n\n");
printf("<html><head><title></title></head><body>");
tmpStr = getenv("QUERY_STRING");
while(tmpStr && *tmpStr != '='){
tmpStr++;
}
user = tmpStr+1,
printf("Adding %s to  User Database",user);
//system("wget http://localhost:8000/newuser/");//call script to add user?
printf("</body></html>");  
return 0;//return user?
}

你能告诉我如何实现这些目标吗?如何在不打开新的html网站的情况下显示用户列表?同样在上面的C代码中,我必须调用返回成功或失败值的链接"http://localhost:8000/newuser/"。如何将其返回到父表单? 感谢。

1 个答案:

答案 0 :(得分:0)

您可以在html中添加iframe:

<iframe id="theiframe" name="theiframe"></iframe>

然后将表单的目标设置为iframe:

<form action= "/cgi-bin/mycgi.cgi" name ="create user" method ="get" target="theiframe">

无论如何,我不清楚当你点击第一个或第二个按钮时是否应该显示更新列表。