您现在的位置: IT技术文档中心 >> 文档资源 >> Web开发 >> CGI/Perl >> 文档正文
CGI教程-解码数据发送给CGI脚本
作者:未知 文章来源:互联网 点击数: 更新时间:2007-7-13 21:59:34

解码数据发送给CGI脚本

  当使用表单的时候,收集在表单的信息给发送给CGI脚本用于处理。这个信息被放置在环境变量QUERY_STRING中。

  为了清除地将信息传递给环境变量QUERY_STRING,被修改锚标签的表单将被使用。在这个被修改的锚标签中,传递给环境变量QUERY_STRING的数据是在指示CGI脚本的URL之后附上的。字符”?”被用来分隔指定CGI脚本以及发送给脚本的数据的URL。比如:

<A HREF="/cgi-bin/script?name=Your+name&action=find"> Link </A>

其中数据"name=Your+name&action=find"被放置在环境变量QUERY_STRING中并且CGI脚本被执行。

  下面给出一个例子:由C++编写一个类,具体文件parse.h 和parse.cpp被用于在QUERY_STRING中提取个别的组件,其中的头文件t99_type.h在上节教程已经提到,它是包含了一些定义。具体代码如下:

//以下是parse.h文件

这个类的成员函数有:

方法

任务

Parse

设置将要解析的字符串

set

设置一个要解析的不同字符串

get_item

返回字符串有关的关键字作为参数传递,如果没有数据就返回NULL

get_item_n

返回字符串有关的关键字作为参数传递,如果没有数据就返回空字符串

当使用成员函数get_item和get_item_n的时候,可选的第二个参数指定哪个跟关键字有关的字符串被返回。这样就允许恢复附在同一关键字的信息。另外,返回的字符串将有以下一系列的替代物:

+将被转换成空格;

%HH将把十六进制的数转换为字符;

~user将被用户主目录的完整路径取代,这也只有在可选第三个参数为true的时候才可以。

下面举个例字,如果QUERY_STRING包含以下内容:

tag=one&name=mike&action=%2B10%25&tag=two&log=~mas/log&tag=three

那么以下的程序将被编译和运行:

结果它的输出为:

name = mike

action= +10%

log = /usr/staff/mas/log

tag (1) = one

tag (2) = two

tag (3) = three

tag (4) =

  • 上一篇文档:
  • 下一篇文档:
  • 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 设为首页 | 加入收藏 | 联系站长 | 版权申明 | 雁过留声 | 会员中心 |