解码数据发送给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
更多内容请看PCdog.com--Fireworks教程 PPT教程 电脑入门教程专题
