您的位置:首页 > Web前端 > HTML

html与cgi脚本的配合使用

2013-07-05 11:34 495 查看
利用boa服务器测试arm开发板上的cgi和html联合编程的小例程。很简单,但是当时觉得很有意思。在这里给大家展示一下,高手飘过。
在ubuntu下安装boa测试环境,即先在本地搭建一个boa的网页服务器。apt-get install boa。稍作配置即可。我的Boa按照默认配置www网页放在/var/www目录,而cgi脚本放在/usr/lib/cgi-bin目录

下面以一个示例较少cgi和html的配合使用

<html><head><title>Title of page</title></head>
<body><form ACTION="cgi-bin/mult.cgi">
#这里指示cgi脚本的路径<P>请在下面填入乘数和被乘数,按下确定后可以看到结果。
<INPUT NAME="m" SIZE="5" ><INPUT NAME="n" SIZE="5" ><BR><INPUT TYPE="SUBMIT" values="确定"></form ></body>
</html>
将文件该名称为Index.html放在www目录
而mult.cgi代码如下:

#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char *data;
long m,n;
printf("Content-Type:text/html;charset=utf-8\n\n");
printf("<html>\n");
printf("<head>\n<title>乘法结果</title>\n</head>\n");
printf("<body>\n");data = getenv("QUERY_STRING");
if(data == NULL)
printf("<P>错误!数据没有被输入或者数据传输有问题</p>");
else if(sscanf(data,"m=%ld&n=%ld",&m,&n)!=2)
printf("<P>错误!输入数据非法。表单中输入的必须是数字。</p>");
else printf("<P>%ld和%ld的成绩是:%ld。",m,n,m*n);
printf("</body>\n");printf("</html>\n");
return 0;
}
使用gcc将以上代码编译之后,将可执行文件该名称为mult.gci,放 /usr/lib/cgi-bin目录 

可以参考以上代码,功能就是提供两个输入框,用户输入之后,点击确定提交之后,返回计算结果。
一个很值得关系的问题是用户浏览器的网页怎么和服务器上的cgi脚本交互,在我们点击提交之后,会发现在浏览器的地址栏有下面的字样:




mult.cgi?m=254&n=321这就是浏览器向服务器传递的数据,m=254 n321,上述写法是标准格式。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  CGI HTML 脚本